0

それらの間でデータを送受信するサーバー/クライアントプログラムを作成しています。プログラムはエミュレータ上で完全に動作していますが、WIFI を介して実際の Android デバイスでテストすると、サーバーに接続できません。

サーバ側

ServerSocket serverSocket = new ServerSocket(44444);
Socket clientSocket = serverSocket.accept();

クライアント側

Socket socket = new Socket("192.168.1.2", 44444);

問題はデータの送信ではなく、接続の確立にあります。その Android フォンはサーバー側を認識しません。

4

4 に答える 4

0

Android デバイスは Windows のアドホック ネットワークを検出できないため、最初に次のようにして PC のホットスポットを作成する必要があります。

ステップ 1: CMD (管理者特権) を開き、次のコマンドを実行します netsh wlan hostsnetwork mode=allow ssid=NAME key=PASSWORD

これにより wifi が作成され、ホットスポットがこれを実行して wifi ホットスポットを開始します。

ホットスポットを停止するには、次のコマンドを実行します: netsh wlan stop hostsnetwork

于 2013-09-06T18:23:56.347 に答える
0

文字列hostnameを期待するコンストラクターを使用しています。ただし、インターネットアドレスを提供しています。アドレスをパラメーターとして受け入れる別のコンストラクターを使用する必要があります。

クライアント側で次のコードを試してください。

Socket socket = new Socket (InetAddress.getByName ("192.168.1.2"), 44444);
于 2013-04-09T13:35:18.950 に答える
-1

問題はネットワークにあります。実際の Android デバイスとサーバー ( 192.168.1.2) が同じネットワークにあることを確認してください。

それらが同じネットワーク内にある場合のみ、クライアントからサーバーと通信できます

于 2013-04-09T13:32:40.810 に答える