HP-Socket 有心跳检测机制吗?
A:有(UdpCast 组件除外)。TCP 组件使用 TCP 协议内置的心跳检测机制,UDP组件通过互发 0 字节数据包实现心跳检测:
1) TCP 心跳检测:SetKeepAliveTime() / SetKeepAliveInterval(),单位 - 毫秒
超时时间计算公式:KeepAliveTime + (KeepAliveInterval * N)
其中 N 为固定值:WinXP 以下系统 N=5;Win7 以上系统 N=10
2) UDP 心跳检测:SetDetectInterval() / SetDetectAttempts(),单位 - 毫秒
超时时间计算公式:DetectInterval * (DetectAttempts + X)
其中 X 可能为 0~1 之间的任意值
3) 对于 Server 或 Agent 组件,可以通过“断开静默连接”方式间接实现心跳
检测。如:使用定时器或独立线程定时调用 DisconnectSilenceConnections()
方法断开静默连接
页:
[1]