INFO: Winsock Ignores ICMP Port Unreachable Control Messages (245442)



The information in this article applies to:

  • Microsoft Windows NT Server 3.1
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0
  • Microsoft Windows NT Workstation 3.1
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0
  • Microsoft Windows 95
  • Microsoft Windows 98
  • Microsoft Windows 98 Second Edition

This article was previously published under Q245442

SUMMARY

ICMP Port Unreachable control messages are ignored by the Winsock layer on versions of Windows as specified applies to section. If Winsock UDP application is sending datagram to a host application that has already gone, the host replies with ICMP Port Unreachable control message. If the Winsock application is then blocking on receiving datagram from the peer, it will not unblock on receiving the ICMP Port Unreachable control message. If the application needs to detect the existence of the UDP peer under such scenarios, it may use nonblocking socket or overlapped socket with timeout and retries.

MORE INFORMATION

On Windows 2000, a feature is added to unblock Winsock application and returning 10054 (WSA_ECONNRESET) through WSAGetLastError if ICMP Host Unreachable control message is received for a bound socket.

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

263823 WinSock Recvfrom() Now Returns WSAECONNRESET Instead of Blocking or Timing Out


Modification Type:MinorLast Reviewed:12/20/2004
Keywords:kbDSWNET2003Swept kbAPI kbinfo kbnetwork kbWinsock KB245442