TCP通信 检测网络已经断了

slect send函数判断网络已经断了。
SEND函数的成功返回只能表示发送数据已经进入了SOCKET内核的发送队列,但是不一定就已经在线上或者已经被成功接收了。由于TCP/ip协议本身并不提供对网络物理链路突然断开的实时通知机制,即使用了SETSOCKOPT的KEEPALIVE选项也只能在断开发生两小时15分10秒以后SOCKET层才能得到一个错误通知。
在使用TCP/IP通信时,要能立刻得到网络连接突然中断的方法有两种:

1。使用一个单独的线程或者进程定时发送特定数据给对方,如果对方在给定的时间没有回应数据,就表明通信链路产生了问题,也

就是所谓的心跳检测。

2。修改注册表参数,将KEEPALIVE的默认时间间隔变短,在WIN2000里面有专门修改TCP注册表参数的函数。

 

转载于:https://www.cnblogs.com/deepwishly/archive/2010/09/06/2551202.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值