• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

PacketSession에서 buffer.Count와 dataSize의 비교

24.04.05 15:57 작성 조회수 52

0

안녕하세요 PacketSession에서

if (buffer.Count < dataSize)

break;

이 부분의 코드가 왜 필요한지에 대해서 의문이 생겨 질물 남깁니다

 

예를들어 100바이트 크기의 버퍼가 OnRecv매개변수로 들어왔고 해당 100 바이트가 5가지 패킷의 정보를 들고 있다고 했을 때

하나의 패킷을 처리할 때 마다 해당 크기의 dataSize만큼 buffer크기(Count)가 갱신 될텐데

 

그렇게 된다면 위의 조건에는 들어오게 될 일이 전혀 없게 되는거 아닌가요?

답변 1

답변을 작성해보세요.

0

패킷이 미완성된 상태로 올 수가 있기 때문에 꼭 필요합니다.
즉 20바이트 패킷 중 1바이트만 오는 그런 상황이죠.