Network/Windows

[IOCP] 10038 Error

Binceline 2012. 10. 6. 15:52

http://www.gpgstudy.com/forum/viewtopic.php?p=27737


에서 해결방법을 찾았다.


WSASend() 함수 호출 시 에러 코드 10038이 리턴되면서 리시브 에러를 출력할 때가 있는데,

WSASend()함수 호출 전에


ZeroMemory(&m_overlapped, sizeof(OVERLAPPED));


로 데이터를 한번씩 지워주자. 나는 멤버변수로 다루고 있었으므로 계속 이전 데이터가 저장되어 있다.



그리고 원래 소켓 에러 10038은 

소켓 핸들이 잘못된 값으로 변경되었을 때, closesocket()으로 연결을 해제할 시에 나는 에러다.

에러를 확인할 방법은 딱히 없고, closesocket을 하기 전에

소켓이 INVALID_SOCKET인지 아닌지 확인을 하면 된다.

반응형