QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1016|回复: 0

求教:Linux下的网络编程中如何判断对方断链

[复制链接]
发表于 2006-5-19 10:59:47 | 显示全部楼层 |阅读模式
理论上讲,在对方断链的情况下,send/recv函数返回都是负值。但我测试的结果是:在对方断链的情况下使用send和recv函数会导致进程退出。在阻塞模式和非阻塞模式下都是这样。
如果使用select进行判断。在对方断链后fd_set * exceptfds异常判断位居然返回是正常值;fd_set * writefds写判断位也判断位也返回可写(在这时调用send会导致进程退出);fd_set * readfds读判断位返回是有数据读,但调用recv返回数据长度是0(资料上是应返回负值)。
以上的测试使我觉得Linux的网络实现函数不是标准的。

请教各位高手是否也遇到类似的情况?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 16:32 , Processed in 0.039649 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表