Keepalive是什么意思?keepalived工作原理
来源:驱动中国网 | 2023-07-05 16:42:50

Keepalive是什么意思:

keepalive是在TCP中一个可以检测死连接的机制,根据你的需要设置就行。

keepalived工作原理:

1.如果主机可达,对方就会响应ACK应答,就认为是存活的。

2.如果可达,但应用程序退出,对方就发FIN应答,发送TCP撤消连接。

3.如果可达,但应用程序崩溃,对方就发RST消息。

4.如果对方主机不响应ack,rst,继续发送直到超时,就撤消连接。这个时间就是默认的二个小时。

uses WinSock2;

procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);

type

TCP_KeepAlive =record

OnOff: Cardinal;

KeepAliveTime: Cardinal;

KeepAliveInterval: Cardinal

end;

var

Val: TCP_KeepAlive;

Ret: DWord;

begin

Val.OnOff:=1;

Val.KeepAliveTime:=6000; //6s

Val.KeepAliveInterval:=6000; //6s

WSAIoctl(AThread.Connection.Socket.Binding.Handle, IOC_IN or IOC_VENDOR or 4,

@Val, SizeOf(Val), nil, 0, @Ret, nil, nil)

end;

精彩推荐