Java,增加套接字超时

前端之家收集整理的这篇文章主要介绍了Java,增加套接字超时前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的服务器客户端应用程序.一切正常,但在某个阶段,服务器需要超过5分钟的时间才能得到响应(这是正常的,需要像这样).问题是,如果需要超过5分钟,我会不断得到这个异常: java.net.SocketTimeoutException:读取超时.

所以我想知道是否有一些默认的套接字超时在WindowsJava虚拟机我可以设置?我不能更改客户端代码,所以setSoTimeout()不是我的选择.

使用Windows XP

编辑:据了解,现在客户端没有打开套接字连接.它从服务器传递.所以我反编译了所有的服务器jar文件.但仍然无法找到关于超时的任何内容.

解决方法

默认套接字超时为0,这意味着永远不会超时.如果在5分钟后实际超时,这意味着它已经被设置在代码中.如果源不可用,并且没有配置,您可以尝试反编译该类,并查找setSoTimeout调用.

由于注释,以及搜索没有找到任何setSoTimeout()调用的事实,您可以采取不同的方法.只是让它超时,并写一个小脚本,将重试呼叫,以防万一.如果您可以从命令行调用客户端,则可以解析输出,如果它在stderr上.

猜你在找的Java相关文章