유니티에서 웹서버와 POST 통신하기
2021. 9. 30. 18:55ㆍ개발/유니티
1. C#에서 post로 데이터 보내고 받기.
웹서버에서 post데이터 중 키가 a, b인 변수로 받은다음 json으로 리턴해주면 된다.
try를 쓴 이유는 네트워크 환경에 따라 제대로 작동하지 않는 경우가 있기 때문이다.
//예제
string PostData = "a=1&b=2"
StringBuilder dataParams = new StringBuilder();
HttpWebRequest request = null;
HttpWebResponse response = null;
try
{
byte[] bytes = UTF8Encoding.UTF8.GetBytes(dataParams.ToString());
request = (HttpWebRequest)WebRequest.Create(접속할 URL주소);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
request.Timeout = 1000;
using(var stream = request.GetRequestStream())
{
stream.Write(bytes, 0, bytes.Length);
stream.Flush();
stream.Close();
}
response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string json = reader.ReadToEnd();
}
catch(WebException webExcp)
{
WebExceptionStatus status = webExcp.Status;
if(status == WebExceptionStatus.ProtocolError)
{
HttpWebResponse httpResponse = (HttpWebResponse)webExcp.Response;
}
}
catch(Exception e)
{
throw e;
}
response.Close();
response.Dispose();
request.Abort();
웹서버와 통신할 수 있게되면, 꼭 tcp서버를 사용하지 않아도 왠만한 모바일 게임은 처리할 수 있게 된다.
원래는 모바일 서비스에 더 많이 쓰이지만, 코틀린이나 스위프트가 있는데 구지? C#을 쓸 일은 없어보인다.
물론 자마린이 있긴한데 이거 하는 분이 한국에 많나..?
결국 그나마 유니티 개발자인데 그렇다면 많이 쓸일이 있을지도
'개발 > 유니티' 카테고리의 다른 글
파이어베이스로 마켓에 출시된 앱 버전 체크하기 (0) | 2021.11.16 |
---|---|
유니티 Dictionary를 활용한 저장기능 정리 (0) | 2021.11.10 |
유니티 iOS에 플러그인 연결하기 (0) | 2021.06.21 |
스크롤뷰에서 이벤트핸들러 공유하기 (0) | 2021.05.26 |
유니티에서 sns로 데이터보내기(공유하기) (3) | 2021.04.21 |