저는 C#으로 작은 온라인 게임을 개발 중입니다. 현재 간단한 동기화 TCP 소켓을 사용하고 있습니다. 하지만 지금은 (일종의 "학습 프로젝트"이기 때문에) 비동기 소켓으로 변환하고 싶습니다. 클라이언트에서 나는 방법이있다 : byte[] SendAndReceive(Opcode op, byte[] data)
. 그러나 비동기 소켓을 사용할 때 더 이상 가능하지 않습니다. 예를 들어, 내 MapManager
클래스는지도가 폴더 (체크섬)에 로컬로 있는지 먼저 확인하고 그렇지 않은 경우지도가 서버에서 다운로드됩니다.비동기 소켓이있는 C# 게임 클라이언트
그래서 내 질문 : 일부 데이터를 보내고받은 버퍼링 된 데이터를 저장하지 않고이 버퍼가 null이 아닐 때까지 폴링하는 좋은 방법이 있습니까?