2011-07-11 42 views
2

当客户端A连接到服务器B时,我们在服务器B上获得java.net.SocketTimeoutException。不知道为什么。客户端正在向服务器发送数据,然后服务器抛出此异常。如何解决这个问题?如何调试SocketTimeoutException?

注意目前这只发生过一次。不确定这是否可以重现。试图再次设置测试..

回答

0

没有数据在超时时间内到达接收器。这就是全部意思。调试它意味着找出你认为发送的数据为什么没有发送。例如缺少flush()。

0

当我的用户使用3G或2G网络时,我遇到了同样的问题。这意味着,您发送请求到服务器,并且由于互联网信号弱,无法建立连接。您可以增加您的连接

URLConnection connection; 
int timeout = 30 * 1000; 
connection.setConnectTimeout(timeout); 
connection.setReadTimeout(timeout); 

上超时,但如果你已经weaaak weeeaaaak互联网connection,超时不帮你。 我刚刚创建1个testFunction在WebService(或者你可以用你的一个),用于调用另一个所需的功能之前测试connectionserver,如果我得到SockectTimeoutException调用此函数 - 只是通知用户报告“弱连接互联网! “