当前位置: 技术问答>linux和unix
50求教一个菜鸟级别的UDP套接字问题,关于UDP server端只能接收一次数据的问题?在线等,一直等............
来源: 互联网 发布时间:2015-10-20
本文导语: 客户端没问题,server端每次只能接收一次客户端发来的信息,不解中.现把server端怀疑有问题的部分贴出,大家帮我看看: ...................... while(1) { /*等待数据请求*/ n=recv...
客户端没问题,server端每次只能接收一次客户端发来的信息,不解中.现把server端怀疑有问题的部分贴出,大家帮我看看:
......................
while(1)
{ /*等待数据请求*/
n=recvfrom(sockfd,msg,MAX_MSG_SIZE,0,(struct sockaddr*)&addr,&addrlen);
msg[n]=0;
/*显示服务器端已经收到了信息*/
fprintf(stdout,"I have received %sn",msg);
}
我用打印的方法试过,第二次执行到 n=recvfrom..........这里的时候就不往下走了,很是奇怪
......................
while(1)
{ /*等待数据请求*/
n=recvfrom(sockfd,msg,MAX_MSG_SIZE,0,(struct sockaddr*)&addr,&addrlen);
msg[n]=0;
/*显示服务器端已经收到了信息*/
fprintf(stdout,"I have received %sn",msg);
}
我用打印的方法试过,第二次执行到 n=recvfrom..........这里的时候就不往下走了,很是奇怪
|
没仔细看,不过这句
msg[n]=0; 感觉有问题,应该是
msg[n]='';
另外根据你的分析,客户端有问题的可能性大些吧。
msg[n]=0; 感觉有问题,应该是
msg[n]='';
另外根据你的分析,客户端有问题的可能性大些吧。
|
你是阻塞得socket 所以挂在recvform是由于没有再收到包了