TsgcTCPClient › Properties › TCPKeepAlive
クライアントソケットでOSレベルのTCPキープアライブプローブを有効にします。
property TCPKeepAlive: TsgcTCPKeepAlive read FTCPKeepAlive write SetTCPKeepAlive;
Enabled=False、Time=7200000、Interval=1000
TCPKeepAlive.Enabled が True の場合、トランスポートは SetKeepAliveValues 経由でソケットの SO_KEEPALIVE オプションを有効にします。Time はカーネルがプローブを開始するまでのアイドル時間 (ミリ秒、デフォルト 7200000、つまり 2 時間) で、Interval はプローブ間隔 (ミリ秒、デフォルト 1000) です。これらのプローブはオペレーティングシステムの TCP スタックによって処理され、アプリケーションレベルの HeartBeat プロパティとは独立しています。生の TCP チャンネルでデッドピアを検出するプロトコル非依存の方法が必要な場合は TCPKeepAlive を使用します。
oTCP := TsgcTCPClient.Create(nil);
oTCP.Host := 'www.esegece.com';
oTCP.Port := 2053;
oTCP.TCPKeepAlive.Time := 60000;
oTCP.TCPKeepAlive.Interval := 5000;
oTCP.TCPKeepAlive.Enabled := true;
oTCP.Active := true;