前提・実現したいこと
AndroidStudioでのソケット通信でサーバとの通信が切断された後、
クライアント側が再接続する処理を作成しております。
発生している問題・エラーメッセージ
java.net.SocketTimeoutException: failed to connect to /サーバIPアドレス (port サーバポート番号) from /クライアントIPアドレス (port クライアントポート番号) after 600000ms: isConnected failed: ETIMEDOUT (Connection timed out)
該当のソースコード
java
1 2socket = new Socket(); 3InetSocketAddress addr = new InetSocketAddress(サーバアドレス, サーバポート番号); 4socket.connect(addr, 600000); 5
試したこと
デバッグした感じ、
1、サーバを手動で落とし、通信を切断します。
2、該当ソースコードのconnectまでいき、そのまま接続待ち状態にいきます。
3、指定した600000msec(これはわざと長く設定しております。)接続待ち。
4、サーバを手動で接続状態にすると、上記のエラーメッセージが発生する。
3の部分で、
600000msec(10分)の間は接続待ちだと思っていたのですが、
20,30秒くらいしてサーバを接続状態にしても上記のエラーメッセージが発生します。
指定したタイムアウト時間を超えても接続されない場合、
エラーメッセージがくるのは納得できるのですが、
タイムアウト時間前にエラーメッセージがくるのは納得いきません。。
なにか勘違い等しているのでしょうか?
知っている方がいればご教授ください。
補足情報(FW/ツールのバージョンなど)
何か必要な情報等ありましたらご連絡ください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/06 04:38