我试图打电话给一个非常重的过程.
平均工作时长估计为9-10分钟.
当我执行该过程时,我设置一个可笑的巨大数字的超时时间:99999999.
2分钟后,我收到以下错误:
java.net.SocketTimeoutException: Read timed out
我试图再混淆一些,我将超时设置为3000,并且如预期的那样,在3秒钟之后,我得到相同的错误.
你有什么想法为什么socket.setSoTimeout(99999999)设置为120000最大?
解决方法
我有同样的问题,解决方案没有使用
socket.shutdownInput(); socket.shutDownOutput();直到最后一次将数据读取或写入套接字.这使得套接字进入FIN_WAIT状态,从而在关闭前等待2分钟.您可以在
this post阅读更多