Java:socket读取超时异常

我试图打电话给一个非常重的过程.
平均工作时长估计为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阅读更多

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...