此段程序中,recvfrom为何不能自动阻塞?
SOCKET recvSock;
sockaddr_in recvAddr;
sockaddr_in senderAddr;
int senderAddrSize = sizeof(senderAddr);
 
recvSock = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
recvAddr.sin_family = AF_INET;
recvAddr.sin_port = htons(UNILATERALPUNCHINGSERVER_PORT);
recvAddr.sin_addr.S_un.S_addr = htonl(INADDR_ANY); bind(recvSock,(sockaddr*)&recvAddr,sizeof(recvAddr)); //绑定服务器监听端口 stP2PMessage recvBuffP2P; //定义接收消息的缓冲区
ZeroMemory(&recvBuffP2P,sizeof(recvBuffP2P));

while(true)
{

//接收来自客户端的消息,并存放在缓冲区recvBuff中


int iread = recvfrom(recvSock,(char*)&recvBuffP2P,
sizeof(recvBuffP2P),0,
(sockaddr*)&senderAddr,
&senderAddrSize);
if(iread>0)
{
stUserNode *current = new stUserNode;

current = clientList.Search(recvBuffP2P.userName); //查找'目的用户'的用户结点
……