1

AndroidとiOSの間のソケット接続(wifi経由)に関する小さな例を開発していますが、試した後、接続が確立されていません。これまでに行ったことは次のとおりです。iosでサーバーを作成しました(Bonjourを使用してサービスを公開しました)。Androidでクライアントも作成しました。ただし、iosでサーバーを起動した後、ログも取得しました:

ServerSocketConnection[3487:c07] Bonjour Service Published: domain(local.) type(_serversocket._tcp.) name(Macmini) port(54065)

これは、サーバーが正常に起動したことを意味します。

クライアント部分(Android)には、Socketクラス、数行のコードを使用してクライアントを作成しました。

Socket s = new Socket("local.", 54065);
OutputStream out = s.getOutputStream();
PrintWriter output = new PrintWriter(out);
output.println("Hello Android!");
BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));
String st = input.readLine();

AsyncTask に入れて実行します。しかし、私は得ましたUnknowHostException

08-06 12:45:44.460: W/System.err(873): java.net.UnknownHostException: Unable to resolve host "local.": No address associated with hostname

私はこの種の問題の初心者なので、何が問題なのか考えていますか? 「ホスト」に関連していることは知っていますが、修正する方法が必要です。*注: 同じ Wi-Fi ネットワークと同じ MAC として、2 つのシミュレーター (iOS と Android) で 2 つのアプリを実行していますが、これが問題なのでしょうか? 私の英語は私の母国語ではありません。

4

1 に答える 1

0

「ローカル」ではなく、iPhone の実際の IP アドレスを使用します。

Android では、[設定] -> [WiFi] -> [詳細設定] で電話の IP を見つけることができます。iPhone が同じオプションを提供しているかどうかはわかりません。

ps。また、マニフェストにインターネット アクセス許可があることを確認してください。

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
于 2013-08-06T06:12:50.457 に答える