c语言判断socket 状态,socket 怎的检测TCP连接是否失效 |
您所在的位置:网站首页 › tcp检查 › c语言判断socket 状态,socket 怎的检测TCP连接是否失效 |
socket 怎样检测TCP连接是否失效? 比如客户端,希望在定时器中不断检测当前连接是否有效,如果检测无效后,重新执行连接,直到连接成功;若在一定时间内无法连接成功,退出程序。 客户端连接的程序为void ClientConnect(); int ConnectFlag=0; 检测连接是否有效的函数定义为void SocketCheck(); int CheckFlag=0; 若 定时器回调函数为void Timer(int signo);定时时间为100ms,由于定时器时间间隔的限制,不能留很多时间去检测,我查了一些网上的说法,用KeepAlive,但是我不会写这部分代码,也不知道怎么设置时间。请大家帮我看一下void SocketCheck();函数应该怎么写。 探测时间怎么设置在30ms左右(100ms以内)?还有就是怎么判断在20s内无法连接就退出程序? 以下是我现在写的程序,如果把服务器断掉,void SocketCheck()中一直会运行到setsockopt内,无法检测到连接失效。 void Timer(int signo) { if(CheckFlag==0) { ClientConnect(); } if( ConnectFlag==1) { SocketCheck(); } } void ClientConnect() { ...... if(-1 & |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |