• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

WSASend

22.10.27 15:26 작성 조회수 268

0

좋은 강의 감사드립니다.

::WSASend(_socket, wsaBufs.data(), static_cast<DWORD>(wsaBufs.size()), OUT &numOfBytes, 0, &_sendEvent, nullptr))

전체적인 소스에서 데이터가 일부만 보내진 경우에 대한 처리가 안되어 있는것 같은데요,

일부만 보내지는 경우가 거의 희박하여 구현하지 않으신건지, 아니면 구현되어 있으나 제가 잘못 이해하고 있는건지 궁금합니다.

 

답변 1

답변을 작성해보세요.

0

PacketSession 쪽에서 해당 부분을 구현합니다!

달타냥님의 프로필

달타냥

질문자

2022.10.28

PacketSession에서 wsaBufs의 일부 데이터만 발송 성공된 경우 나머지 데이터를 다시 재발송하는 루틴을 못 찾겠는데요,

어디에 구현되어 있다는 것인지요 ?

아 질문을 잘못 이해했네요.
받는 쪽에서는 패킷이 쪼개져서 올 수 있지만,
WSASend를 호출할 때 부분적으로 성공하는 경우는 없습니다.
완료 처리는 WSASend 모든 데이터가 전송될 때 처리가 되기 때문에
보내는 쪽에서는 특별 처리를 할 필요가 없습니다.