인프런 커뮤니티 질문&답변

toyboy0113님의 프로필 이미지
toyboy0113

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

PacketSession

PacketSession에서 buffer.Count와 dataSize의 비교

해결된 질문

작성

·

162

0

안녕하세요 PacketSession에서

if (buffer.Count < dataSize)

break;

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

 

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

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

 

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

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

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

toyboy0113님의 프로필 이미지
toyboy0113

작성한 질문수

질문하기