TCP 게임 트러블 슈팅2

김민재·2024년 10월 30일

문제 발생 경위

게임 시작시 플레이어의 위치를 받아서 넣어주는 과정에서 유니티쪽에서 이를 Deserialize 하는 과정에서 에러가 발생했다.

문제 발생 이유

패킷을 보내는 과정에서

데이터를 넣을 때 쓰는 JSON 타입의 파일을 유니티에서 Deserialize할 수 없는 에러가 발생했다.

이 에러를 확인해본 결과 유니티에서 이것을 해결하기 위해서는 2가지 방법이 있었다.

1. 버퍼를 보내줄 때 encode방식으로 보내주기


내가 사용한 방식이 이 방식인데 버퍼에 실기전에 데이터를 미리 인코딩하여 보내주는 방식이다.

2. JSONUtility 사용하기

클라이언트에서 사용할 수 있는 방법으로써

JsonUtility.FromJson<>(jsonString)
UserLocation userLocation = JsonUtility.FromJson<UserLocation>(jsonString);

이 코드를 이용하여 JSON파일을 구조체로 변환하여 데이터를 처리할 수 있게된다고 한다.

profile
ㅇㅇ

0개의 댓글