인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

달타냥님의 프로필 이미지
달타냥

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

WSASend

작성

·

359

0

좋은 강의 감사드립니다.

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

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

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

 

답변 1

0

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

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

달타냥님의 프로필 이미지
달타냥
질문자

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

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

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

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

달타냥님의 프로필 이미지
달타냥

작성한 질문수

질문하기