0

Wi-Fi に接続しているときに動作する Android アプリがありますが、4G 経由で接続しているときは動作しません。明確にするために、サーバーが接続されているネットワークではなく、wifiインターネット接続に接続しているときに機能します。私のマニフェストファイルには以下が含まれています:

<uses-permission android:name="android.permission.INTERNET" />

問題のある行は次のとおりです。

new Socket(InetAddress.getByName("mydomain.com"), XXXX);

ハングしてから、次のエラーが表示されます。

java.net.ConnectException: failed to connect to mydomain.com/XXX.XXX.XXX.XXX (port XXXX): connect failed: ETIMEDOUT (Connection timed out)

logcatに出力しました。でIPアドレスを見つけることに成功したので、DNSの問題ではないと思います

System.out.println("Server IP:" + InetAddress.getByName("mydomain.com").toString());

これをSamsung S III電話で実行しています。繰り返しますが、wifi に接続している場合やエミュレーターで実行している場合は正常に動作しますが、インターネット接続が 4G の場合、クライアントのソケットがタイムアウトします。なぜこれが起こるのでしょうか?

4

0 に答える 0