解释:
如果客户端主机没有断线的话,NPORT在每1/4的“TCP Alive Check”时间内会发一个错误乱序的数据包到客户端主机去检查。 当远程客户端程序还在运行,客户端的应用程式将回应一个NACK包给NPort,该NACK包具有正确的TCP序列 。
如果你的客户端应用程序是异常断开连接的,如停电或网线断开, NPort将不会返回到侦听状态的原因有以下几点:
1)NPort 认为客户端程序仍然在运行,是因为客户端应用程序并没有通知NPort由于意外的网络连接或其他原因断开网络而它要关闭Socket连接。NPort 将认为客户端程序仍然在运行直到“TCP Alive Check”设定的时间。
2) 如果“TCP Alive check timeout”的设置为0,Nport 将不会发送检查包到远程用户电脑去检查客户端程序是否还在运行,在这种情况下,你可能需要手动重启NPort来发起Socket 连接。
a)为了解决这个问题,可以设定“TCP alive check timeout”(默认=7分钟),以确保NPort 关闭Socket程序。
b)“TCP Alive check”的值被限制在分钟级的原因是为了避免发送“TCP Alice check”数据包而产生额外的网络流量。如果需要更小的值(单位=秒),请提供信息与MOXA 联系。
|