2012-10-01 4 views
1

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

그래서 내 질문 : 일부 데이터를 보내고받은 버퍼링 된 데이터를 저장하지 않고이 버퍼가 null이 아닐 때까지 폴링하는 좋은 방법이 있습니까?

답변

0

코드 예제는 도움이 될 것이지만 스레드 관리자와의 각 소켓 연결에 대해 새 스레드를 사용하는 것이 좋습니다. Lmk 만약 그것이 이해가된다면, 아니면 여기에 적용 할 수 있습니다. :)

관련 문제