如何调试SocketTimeoutException?

发布于 2024-11-19 11:10:21 字数 172 浏览 2 评论 0原文

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

请注意,目前这种情况只发生过一次。不确定这是否可以重现。尝试再次设置测试..

We are getting a java.net.SocketTimeoutException on server B when client A connects to server B. No idea why. The client is sending data to the server and the server then throws this exception. How would one troubleshoot this issue?

Note currently this has happened only once. Not sure if this is reproduceable. Attempting to setup the test again..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

穿透光 2024-11-26 11:10:21

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

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

,但是如果您的互联网连接很弱,超时对您没有帮助。
我刚刚在 WebService 中创建了 1 个 testFunction (或者您可以使用您的一个),用于在调用另一个所需函数之前测试与 serverconnection ,如果我在调用此函数时遇到 SockectTimeoutException - 只需向用户报告“弱互联网连接!”。

I had same problems, when my users used 3G or 2G network. It means, that you send request to server, and can't estabilish connection, because of weak internet signal. You can increase timeouts on your connection

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

But if you have weaaak weeeaaaak internet connection, timeouts does not help you.
I'm just created 1 testFunction in WebService (or you can use one of yours) for testing connection with server before calling another required functions, and if I get SockectTimeoutException calling this function - just report to user notification "Weak internet connection!".

穿越时光隧道 2024-11-26 11:10:21

在超时时间内没有数据到达接收方。这就是全部意思。调试意味着找出您认为已发送的数据未发送的原因。例如,缺少flush()。

No data arrived at the receiver within the timeout period. That's all it means. Debugging it means finding out why the data you think was sent wasn't sent. A missing flush() for example.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文