设置回环地址127.0.0.1,windows默认UDP recv不阻塞


在recv接受之前,添加如下代码


DWORD dwBytesReturned = 0;

BOOL bNewBehavior = FALSE;
DWORD status;
#define SIO_UDP_CONNRESET _WSAIOW(IOC_VENDOR,12)
// disable  new behavior using
// IOCTL: SIO_UDP_CONNRESET
status = WSAIoctl(sock, 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);
}
}

你可能感兴趣的:(Windows)