반응형
recvfrom(...)에서 WSAECONNRESET(10054)에러가 나오면, 열라 황당하죠...
왜냐하면 10054의 의미는 ICMP Port Unreachable이라는 것인데, recvfrom은 내 소켓에서 데이터를 받는 것이니 왠? Unreachable? UDP에서 WSAECONNREST?
WSAECONNRESET은 해당코드가 TCP에서의 에러일 떄의 의미를 이야기 하는 것이고 UDP소켓에서의 이유는 아래와 같이 MSDN에서 나와 있습니다.
" On a UDP-datagram socket this error indicates a previous send operation resulted in an ICMP Port Unreachable message. "
뭐, 간단히 해석하자면 "먼저번 Send(...)에서 보낸 패킷에 대해서 ICMP Port Unreachable Message라는 IP레벨의 ICMP 메시지 받았어"라는 뜻이죠.
ICMP 메세지는 해당 호스트(the host)나 내부 게이트웨이에 의하여 보낼 수 없는 이유를 알려주기 위하여 만들어지며, 상세 이유는 해당 ICMP 메시지를 확인해 봐야 합니다. 이 메시지에 대하여 좀 더 자세히 알아보려면, 혹은 가능한 에러 이유에 대하여 보려면 위키미디어 형의 ICMP Destination Unreachable을 참조하시면 됩니다.
흠흠.. 오늘도 즐프~
반응형
'윈도우 프로그래밍' 카테고리의 다른 글
Low Fragementation Heap(LFH) (0) | 2009.07.03 |
---|---|
Win32 ThreadPool (0) | 2009.07.03 |
OLE DB의 클래스 역활 (0) | 2009.06.14 |
Fiber [beta] (0) | 2009.05.13 |
SetEvent(..) & 멀티쓰레드 버그 (0) | 2009.04.28 |
Win32 과연 어떤 Timer함수를 사용할 것인가? (0) | 2009.04.24 |
First Chance Exception (0) | 2009.04.24 |
Lua R6034 Runtime Error in Visual Studio 2008 in Vista (0) | 2009.04.18 |