• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

클라이언트에서 보낸 데이터가 다 도착하지 않았을 때...? 처리하는 부분이 있는건가요?

21.05.26 18:54 작성 조회수 231

0

클라이언트에서 보낸 데이터가 다 도착하지 않았을 때 다음 데이터가 올 때까지 기다린 후 처리한다고 말씀하셨는데, 이 부분이 코드 어디에 구현되어있는건가요...?

위에 있는 코드를 나름대로 해석해보니

1. OnWrite()는 _recvArgs.Buffer에 들어있는 데이터만큼 _recvBuffer의 _writePos를 증가시킨다.

2.  OnRecv()한 데이터(_recvArgs.Buffer에 들어있는 데이터)의 크기를 processLen에 담는다.

3. processLen의 크기만큼 _readPos를 증가시킨다.

라고 이해했는데,

클라이언트에서 보낸 데이터가 완전한지 불완전한지 딱히 판단하는 부분은 없어보이고 그냥,  [1.데이터가 들어온만큼 _writePos를 증가시킨다 2. 처리한다 3. 처리한만큼 _readPos를 증가시킨다]를 실행시킨거같아서요!

답변 1

답변을 작성해보세요.

2

아 아직 그 부분을 진행하기 전이네요.
데이터가 완전한지 판단하는 부분은
PacketSession 강의에 가면 나옵니다.

박준영님의 프로필

박준영

질문자

2021.05.27

아 그렇군요! 감사합니다~~