2

私はAndroidで簡単なソケットプログラムを書きました。サーバー側は着信接続を待つサーバーソケットをセットアップし、クライアント側はサーバーのIPアドレスとの接続を確立してサーバーに接続するだけです。私は Sprint の 3G Nexus S をサーバーとして、ATT の 4G Samsung galaxy S3 をクライアントとして使用しています。クライアントが接続しようとすると、「宛先へのルートがありません」という例外がスローされます。しかし、その後、個人用の WIFI ネットワークに切り替えたところ、完全に機能しました。誰かがこの問題で私を助けることができますか? または、セルラーネットワークを使用してソケット接続をセットアップするためにアンドロイドに特別な要件はありますか? ありがとう!

私のクライアント側は次のとおりです。

socket = new Socket(serveripaddress, 8008);
out = new PrintWriter(socket.getOutputStream());

私のサーバー側は次のとおりです。

ss = new ServerSocket(8008);

更新: 2 つの Sprint 携帯電話を使用してコードをテストしたところ、問題なく動作しました!! これは、電話をサーバーとして使用する必要がある特殊なケースにすぎません。一般的にはお勧めしません

4

1 に答える 1

2

通常、キャリア ファイアウォールは、モバイル デバイスへの着信接続を許可しません。これを行うと、モバイル デバイスがセキュリティ リスクやデータ制限の悪用にさらされることになります。また、接続に使用される APN に依存する場合もあります。

于 2013-01-27T20:36:00.047 に答える