【发布时间】:2011-12-18 14:03:06
【问题描述】:
我有一个简单的服务器客户端应用程序。一切正常,但在某些阶段需要超过 5 分钟才能从服务器获得响应(这是正常的,需要这样)。问题是,如果需要超过 5 分钟,我会不断收到此异常:java.net.SocketTimeoutException: Read timed out。
所以我想知道 Windows 或 Java 虚拟机上是否有一些默认套接字超时,我可以设置吗?我无法更改客户端代码,所以setSoTimeout() 不适合我。
使用 Windows XP..
编辑:据我所知,套接字连接未在客户端打开。它从服务器传递。所以我反编译了所有服务器jar文件。但仍然找不到有关超时的任何信息。
【问题讨论】:
-
检查是否使用系统属性配置了超时。
-
@HannoBinder,你能解释一下你所说的系统属性是什么意思吗?
-
我的意思是像sun.net.client.defaultReadTimeout,或者任何可能适用于您客户的连接方式的东西。
-
套接字超时由客户端设置。 '客户端未打开套接字连接。它从服务器传递的'是不正确的。