如何清空Socket缓冲区
有什么办法能一次性吧缓冲区的内容全部Recv下来呢?
用While循环会有这样的问题
比如
while(true)
{
int ret = recv(socket, buf, 500,0);
if(ret != 500)
{
break;
}
}
那么当我缓冲区内的消息正好是500的倍数的时候,第一次ret=500 不退出循环 下一次recv因为缓冲区内没有消息,就会堵塞!
有什么好办法能不阻塞 把缓冲区的消息都接下来么?
[解决办法]
发布时间: 2012-09-27 11:11:17 作者: rapoo
如何清空Socket缓冲区
有什么办法能一次性吧缓冲区的内容全部Recv下来呢?
用While循环会有这样的问题
比如
while(true)
{
int ret = recv(socket, buf, 500,0);
if(ret != 500)
{
break;
}
}
那么当我缓冲区内的消息正好是500的倍数的时候,第一次ret=500 不退出循环 下一次recv因为缓冲区内没有消息,就会堵塞!
有什么好办法能不阻塞 把缓冲区的消息都接下来么?
[解决办法]