linux非阻塞socket中select的问题

select超时时间为10秒,第一次socket连接成功后,我关闭它,此时select会等待并返回0(超时),问题来了,当上一个socket关闭后select等待的10秒... select超时时间为10秒,第一次socket连接成功后,我关闭它,此时select会等待并返回0(超时),问题来了,当上一个socket关闭后select等待的10秒还没完的时候,我进行第二次socket连接,本来第二次socket连接是会成功的,但是不巧的是,遇到了上一次socket被关闭后select的残余返回(0),这时,第二次本来应该成功的socket变成了超时,请问这个怎么解决。求高手帮忙~~~!!!!谢谢了 展开
 我来答
maomaoxionghao
2011-12-16
知道答主
回答量:9
采纳率:0%
帮助的人:6.4万
展开全部
select是不断的监听文件描述符,肯定能探测到它已经关闭了,那么关闭的fd肯定就得从它的fd_set中退出来哇,退出来了,它自然就不监听这个fd了,然后就只有等到超时退出了·····我个人的理解,说的好就给个分···呵呵··
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式