上位机是windows作为客户端,下位机是linux作为服务端,客户端每秒一次向服务端发送请求.客户端recv_timeout = 10.
在实验初期是是正常运行的,但在实验过程中突然从某一刻开始,客户端变成了发一次,然后卡10s,返回SOAP_EOF.然后等1s后重复.
重启客户端,不能解决问题.服务端由于整个设备系统的原因,无法去验证.
从现象看起来是服务端的问题,但是对代码进行走查后,感觉没有会导致下位机在SOAP服务执行函数中卡死的代码.
现在考虑是否有可能是由于通信质量问题引起的底层TCP的假死,即客户端已经断开,但是数据包没有到达服务端导致服务端认为仍处于连接状态中,所以SOAP无法顺序执行下一条请求.
想请教大大们,我分析的原因是否正确,有什么验证方法,以及解决方法.十分感谢!