c语言判断socket 状态,socket 怎的检测TCP连接是否失效

您所在的位置:网站首页 tcp检查 c语言判断socket 状态,socket 怎的检测TCP连接是否失效

c语言判断socket 状态,socket 怎的检测TCP连接是否失效

2023-08-06 06:18| 来源: 网络整理| 查看: 265

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