4

クライアントAがjava.net.SocketTimeoutExceptionサーバーBに接続すると、サーバーBでオンになります。理由はわかりません。クライアントはサーバーにデータを送信しており、サーバーはこの例外をスローします。この問題をどのようにトラブルシューティングしますか?

現在、これは1回だけ発生していることに注意してください。これが再現可能かどうかはわかりません。テストを再度セットアップしようとしています。

4

2 に答える 2

1

ユーザーが 3G または 2G ネットワークを使用しているときに、同じ問題が発生しました。これは、サーバーにリクエストを送信しても、インターネットの信号が弱いために接続を確立できないことを意味します。接続のタイムアウトを増やすことができます

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

しかし、インターネットが弱い場合connection、タイムアウトは役に立ちません。別の必要な関数を呼び出す前にテストするために、1 つのtestFunction を作成しましたWebService(または、あなたのものを使用できます)。この関数を呼び出した場合は、ユーザー通知に「インターネット接続が弱い!」と報告するだけです。.connectionserverSockectTimeoutException

于 2013-02-01T08:19:48.317 に答える
0

タイムアウト期間内に受信機にデータが到着しませんでした。それが意味するすべてです。デバッグするということは、送信されたと思われるデータが送信されなかった理由を見つけることを意味します。たとえば、flush()がありません。

于 2011-07-12T01:15:28.670 に答える