有点难的问题

BinaryTreeEx 2003-10-20 05:35:56
有select实现异步的通信。当对方正常shutdown断开连接或直接拔掉网线,如何检测到阿?听说断开时会发一个关闭连接通知报文,这时select可以检测到。但是我看了select的帮助好像无法从返回值或参数中判断,如何处理阿?
...全文
43 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fierygnu 2003-10-21
  • 打赏
  • 举报
回复
为0的包不会发。
BinaryTreeEx 2003-10-21
  • 打赏
  • 举报
回复
我试一下,如果可以就结贴。如果不行我就准备再丢信誉分。
longenic 2003-10-21
  • 打赏
  • 举报
回复
但是如果对方发过来是的信息本来就是空的呢???
有等进一步思考
ari 2003-10-20
  • 打赏
  • 举报
回复
楼上说的对
当shutdown 时,select 返回描述字可读 使用read返回0,此时可以判断对方关闭。
fierygnu 2003-10-20
  • 打赏
  • 举报
回复
shutdown可以检测到,直接拔掉网线无法检测。select返回该socket可读,但read返回读入字节数为0,这时可以认为是对端关闭了socket。

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧