读书人

麻烦问下这个循环是如何跳出的

发布时间: 2012-03-08 13:30:13 作者: rapoo

麻烦问下这个循环是怎么跳出的.
while (1)
{
printf( "waiting for message from others-------------\n ");
if (recvfrom(socket1,buffer,length,0,(struct sockaddr*)&from,&fromlen)!=SOCKET_ERROR)
{
PointIndex *ptest = (PointIndex *)buffer;
cout < <ptest-> firstDemension < <endl;
sendto(socket1,buffer,length,0,(struct sockaddr*)&from,fromlen);
}
Sleep(500);
}
这是个用udp通讯中的一段代码,但这段代码我不知道他怎么样跳出while的循环.
bind(socket1,(struct sockaddr*)&local,sizeof local);
还有这句话中(struct sockaddr*)&local是什么意思,如果是强制转换的话为什么不写成(struct sockaddr)local

[解决办法]
没见到退出的语句

bind(socket1,(struct sockaddr*)&local,sizeof local);

这里是要转换local的地址,不是local本身,详见MSDN中bind的原型
[解决办法]
不需要跳出的吧
[解决办法]
不退出,不停的等待进来的消息,然后再丢回去。

读书人网 >C++

热点推荐