LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 938|回复: 4

socket编程:关于客户端断链检测的问题?

[复制链接]
发表于 2004-11-10 15:17:46 | 显示全部楼层 |阅读模式
我现在在做一个telnet server;客户端是超级终端或windows中的cmd命令行.收发,回显,响应(双向)都已经实现.但是现在有一个问题在困扰着:
socket工作在阻塞态
如果客户端突然断线(物理连接断开,或是超时),Server端有什么方法检测到?
recv()一直被阻塞,不会返回-1;
还有什么方法可以检测到吗?
网上有不少这样的问题,但是都没有什么好的可行的方法.
最好不要用超时检测,能立即检测到最好
发表于 2004-11-10 16:53:53 | 显示全部楼层
不要直接用recv,用select检测到可读再recv
 楼主| 发表于 2004-11-10 17:07:36 | 显示全部楼层

有什么函数是维护链路的?比如客户端断线后,服务器是怎样能侦听到?

有什么函数是维护链路的?比如客户端断线后,服务器是怎样能侦听到?
发表于 2004-11-10 19:33:09 | 显示全部楼层
UNP里面似乎有解答
发表于 2004-11-11 09:20:52 | 显示全部楼层
我记得recv里面包含了自动检测是否断开的功能哦!!
配合select的话,好象没有问题吧!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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