WinSock Recvfrom() WSAECONNRESET 차단 또는 시간 초과됩니다 대신 이제 반환합니다.

기술 자료 번역 기술 자료 번역
기술 자료: 263823 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

현상

Windows 2000에서 사용자 데이터그램 프로토콜(UDP) 프로그램이 제대로 작동하지 않 및 WSAECONNRESET 응답을 생성할 수 있습니다.

원인

"ICMP 포트에 연결할 수 없습니다" 응답 및 선택한 함수를 sendto 함수 결과를 사용하여 데이터그램을 보내는 readfds에 대해 설정된 경우 프로그램이 1 반환하고 recvfrom 함수에 후속 호출이 WSAECONNRESET (10054) 오류 응답과 함께 작동하지 않습니다. Microsoft Windows NT 4 .0에서 블록 또는 제한 시간이 선택한 함수에 이러한 상황이 발생합니다.

해결 방법

이 문제를 해결하려면 Windows 2000용 최신 서비스 팩을 구하십시오. 추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
260910Windows 2000의 최신 서비스 팩을 구하는 방법
새 소켓 "SIO_UDP_CONNRESET" 라는 IOCTL Windows 2000에 도입되었습니다. 이 IOCTL 사용될 때 특히 원래 Windows NT 4.0 얻기 위해 Windows 2000을 위한 프로그램을 다시 작성해야 합니다 동작을. Windows NT 4.0, Microsoft Windows 95 및 Microsoft Windows 98을 이 새 IOCTL 지원이 없습니다 있습니다. 응용 프로그램을 다시 작성하는 외에도 참조된 핫픽스에 필요한 추가 키를 이 문서의.

다음 코드 조각은 WSAIoctl 원래 Windows NT 4.0 동작을 가져올 SIO_UDP_CONNRESET 컨트롤 코드를 호출하는 데 사용되는 기술을 보여 줍니다.
DWORDdwBytesReturned = 0;
BOOLbNewBehavior = FALSE;
DWORDstatus;

// disable  new behavior using
// IOCTL: SIO_UDP_CONNRESET
status = WSAIoctl(sd, SIO_UDP_CONNRESET,
&bNewBehavior, sizeof(bNewBehavior),
                   NULL, 0, &dwBytesReturned,
                   NULL, NULL);

if (SOCKET_ERROR == status)
{
DWORD dwErr = WSAGetLastError();
if (WSAEWOULDBLOCK == dwErr)
{
// nothing to do
return(FALSE);
}
else
{
printf("WSAIoctl(SIO_UDP_CONNRESET) Error: %d\n", dwErr);
return(FALSE);
}
}
				
이 코드를 컴파일할 수 있게 하려면, SIO_UDP_CONNRESET의 정의를 포함하는 최신 Mswsock.h 갖도록 또는 아래에서 정의의 해당 코드에 직접 삽입할 필요한.
// MS Transport Provider IOCTL to control
// reporting PORT_UNREACHABLE messages
// on UDP sockets via recv/WSARecv/etc.
// Path TRUE in input buffer to enable (default if supported),
// FALSE to disable.
#defineSIO_UDP_CONNRESET_WSAIOW(IOC_VENDOR,12)
				
프로그램이 새 SIO_UDP_CONNRESET IOCTL 사용하도록 다시 작성한 않으면 참고 이 문서에 설명되어 있는 핫픽스 를 문제 해결.

이 코드를 컴파일하는 데 필요한 사용자 컴퓨터에 설치된 최신 Platform SDK 가질 수 있습니다. 다음 MSDN 웹 사이트에서 사용할 수 있습니다.
http://msdn.microsoft.com

현재 상태

Microsoft 문제는 이 문서의 시작 부분에 나열한 제품에서 문제를 확인했습니다. 이 문제는 Windows 2000 서비스 팩 2에서 처음 수정되었습니다.

추가 정보

동시에 Windows 2000 및 Windows 2000 핫픽스를 설치하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
249149Microsoft Windows 2000 및 Windows 2000 핫픽스 설치

속성

기술 자료: 263823 - 마지막 검토: 2007년 2월 21일 수요일 - 수정: 4.3
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
키워드:?
kbmt kbhotfixserver kbqfe kbbug kbfix kbwin2000presp2fix KB263823 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com