728x90
API 통신
단방향 통신은
Http, Https(security), 웹통신
양방향 통신은
소켓통신, TCP/UDP
서로의 게임 상태를 동기화할 때 보통 양방향을 쓴다.
Unity에선 photon이란 걸로 구현함
클라이언트 - 서버끼리는 보통 툴, 언어가 다 다름
그럼 서로 어떻게 정보를 주고받나?
하나의 규칙을 만드는 것이다.
데이터의 규격을 만들어 놓음
문자열(String)은 대부분 어떤 언어든 다 가지고 있어서
이걸로 소통함.
이게 보통 많이 쓰는게 json.
즉, 클라이언트 -> json 변환 -> 서버 처럼 작동함.
문자열로 보낸다곤 했으나 문자열 자체를 보내는 원리는 아니고
json을 byte로 변환해서 보낸다.
'다른 곳에서 데이터를 사용할 수 있도록 데이터를 변환하는 것'을
'직렬화(Serialize)'라고 한다.
동기 비동기
동기 : 순서대로 코드 실행 시 예를 들어 메서드가 끝나기 전까진 다음 코드가 실행되지 않는것.
비동기는 동기의 반대
Unity에서 비동기를 쓸 수 있게 하는 건 대표적으로 코루틴이 있다.
UnityWebRequest로 웹통신 가능
UnityWebRequest req = UnityWebRequest.Get(url);
yield return req.SendWebRequest();
if (req.result == UnityWebRequest.Result.ProtocolError || ...)
{
//에러처리
}
else
{
//통신 결과 처리
}
728x90
'TIL(Today I Learned)' 카테고리의 다른 글
[Unity] 카메라 줌인 아웃, 보는 방향 제한하기 - TIL#42 (0) | 2024.02.26 |
---|---|
[Unity] 심화 주차 개인 과제 기획 - TIL#41 (0) | 2024.02.26 |
[Unity] FSM(유한 상태 기계) - TIL#39(작성중) (0) | 2024.02.26 |
팀 프로젝트(3) : 발표와 회고 - TIL#38 (0) | 2024.02.21 |
[Unity] FMOD로 AudioManager 적용하기 - TIL#37(작성중) (0) | 2024.02.21 |