-
유니티 클라이언트 수신 처리 건프로그래밍/의문 2016. 3. 30. 14:56반응형
내 생각에는
0. 비동기 수신 등록
1. 수신 콜백에서 패킷이 완성 되었으면 스레드에 안전한 큐에 삽입 (라이브러리 단에서 제공하는 동시성이 고려된 큐던, 뮤텍스로 래핑한 큐던..)
2. 메인 스레드에서 큐에 있는 완성된 패킷들을 꺼내서 하나씩 처리
를 하면 될거라 생각하는데, 유니티를 막 배우는 상황이다보니 보통은 어떻게 처리하는지 모르겠다.
검색을 해봐도 제각각으로 하는 느낌이라.. -_-;
송신은 BeginWrite를 통해서 완전 비동기적으로 하고,
수신 처리는 DataAvailable을 검사하고 가져오는 식으로 하면 편할 거 같은데 퍼포먼스 차이가 있을려나?
그게 아니라면 스레드 세이프한 큐가 있어야 하는데 유니티 버전의 c#은 System.Collections.Concurrent가 없는 듯 하다.
좀 더 알아봐야겠지만 일단은 송신은 BeginWrite로 비동기적인 처리를, 수신 처리는 DataAvailable 체크 후 Read하는 식으로 해야겠다.
반응형'프로그래밍 > 의문' 카테고리의 다른 글
반환된 임시 개체 사용으로 인한 종종 프로그램이 터지던 문제 (0) 2016.06.15 친구와 각자의 집에서 tcp 연결을 하려는데 연결이 안 되던 문제 (0) 2016.04.04 유니티 json(JsonUtility) 송신 => c++서버 json 수신 (0) 2016.03.29 국내에서 ipv4 주소를 접하기 어려운 이유 (0) 2016.03.27 비트 쉬프트 연산 (0) 2016.03.15