1、问题描述
在没有网络数据的情况下执行recvfrom()函数,程序没有进入阻塞等待,而是直接返回-1。上网搜索相关问题的解决方法,主要集中在recvfrom()函数的参数没有匹配。
2、解决方法
原代码:
struct sockaddr address;
int len=0;
int iResult = recvfrom(socket,data,sizeof(data),0,&address,&len);
解决方法:(int len = sizeof(address)或int len;)
struct sockaddr address;
int len = sizeof(address);
//int len;
recvfrom(socket,data,sizeof(data),0,&address,&len);