본문 바로가기
유니티 Unity/유니티 정보

유니티 HTTP 통신 구현 핵심 정리1

by TODAYCODE 2021. 11. 17.
반응형

유튜브 영상으로도 볼 수 있습니다.

 

HTTP 통신을 사용하는 경우는 모바일 환경에서 추가패치 데이터를 설치하거나,

실시간 쌍방통신이 크게 필요하지 않은 경우에 주로 사용한다.

요점 정리를 시작하겠다.

 


 

웹서버와 데이터를 주고 받기 위한 여러가지 방식 중에는 HTTP 통신이라는 방식이 있다.

인터넷을 뒤져보면 다양한 예제 스크립트가 존재하는데 기본적으로 주의해야할 사항부터 살펴보자.

1. 코루틴을 사용한다.

HTTP 통신을 찾아봤다면 대부분 코루틴을 통해서 구현되어있을 것이다.

그 이유는 간단한데, 웹서버로부터 정보를 주고받는데 소요되는 시간이 필요하기 때문이다.

그러다보니 코루틴을 대체적으로 많이 쓰곤 한다.

2. using문을 사용한다.

유니티 초보자라면 using이라는 키워드가 스크립트 최상단에만 쓰이는걸 보다가 갑자기 중간에 뜬금없이 using이 나오는 예제들을 보고 당황할 수도 있다.

사실 using문을 굳이 사용할 필요는 없으나, using문을 쓰는 것으로 굉장한 이점을 얻을 수 있다.

웹서버를 통해서 다양한 리소스를 사용하게 될 텐데, 리소스를 사용하게 되면 적절한 시기에 Dispose 처리를 해줘야 자원관리가 제대로 이뤄지는데 프로그래머가 매번 수동으로 Dispose를 해주기는 상당히 귀찮을뿐더러 실수나 오류가 발생하기 쉽다.

만약, using문 작성하고 using문 내부에서 리소스를 사용하게 되면 자동으로 Dispose를 해주기 때문에 자원관리에 용이해진다.

 


통신 방식과 구현 방식

HTTP 통신을 구현하는 방식에는 크게 GET방식과 POST방식이 있다.

물론 더 다양한 방식들이 존재하지만 일단 2가지만 알아도 충분하다.

GET 방식의 경우 : 요청 데이터의 정보를 주소에 담아서 전송하는 방식

POST 방식의 경우 : 요청 데이터의 정보를 HTTP 헤더를 통해 전달하기 때문에 주소에서 들어나지 않는다.

무슨 말인가 하면, 가끔 인터넷을 사용하다가 어떤 글을 읽을때 해당 주소가 ". ..com/page=1 " 이런식으로 끝날 때가 있다. 주소 자체가 현재 1페이지를 보고있다고 알려주고 있다. 이렇게 주소에 정보가 있으면 GET이고, 정보를 알 수 없으면 POST방식이다.

따라서, POST 방식이 GET방식보다 조금 더 보안성이 있고 많은 데이터를 전송할 수 있지만 다소 느리다.

 

그렇다면 유니티에서는 어떤 방식으로 구현할 수 있을까? 역시나 크게 2가지 방식이 있다.

UnityEngin.WWW 그리고 UnityEngine.Networking.UnityWebRequest 이다.

 

초압축이고 대략적이었지만 그래도 HTTP 통신이 어떤 것인지는 최소한의 정보는 알게 되었으니

이제 본격적으로 구현을 해보면서 실제로 익혀보는것이 좋다.

 

다음 글을 통해서 HTTP 통신을 종류별로 직접 구현을 해보도록 하자.

 

 

반응형

댓글