http://www.gpgstudy.com/forum/viewtopic.php?p=27737
에서 해결방법을 찾았다.
WSASend() 함수 호출 시 에러 코드 10038이 리턴되면서 리시브 에러를 출력할 때가 있는데,
WSASend()함수 호출 전에
ZeroMemory(&m_overlapped, sizeof(OVERLAPPED));
로 데이터를 한번씩 지워주자. 나는 멤버변수로 다루고 있었으므로 계속 이전 데이터가 저장되어 있다.
그리고 원래 소켓 에러 10038은
소켓 핸들이 잘못된 값으로 변경되었을 때, closesocket()으로 연결을 해제할 시에 나는 에러다.
에러를 확인할 방법은 딱히 없고, closesocket을 하기 전에
소켓이 INVALID_SOCKET인지 아닌지 확인을 하면 된다.
반응형
'Network > Windows' 카테고리의 다른 글
[IOCP] AcceptEx 관련 (0) | 2013.01.16 |
---|---|
[스크랩] IOCP 실행순서 보장 번역 오류!... (0) | 2013.01.14 |
윈속 확장 라이브러리 AcceptEX, GetAcceptExSockaddrs, TransmitFile (0) | 2012.10.23 |