0

私はクラウドベースのAndroidアプリを作成しています.Androidアプリからサーバーに時々データを送信する必要があります. ソケットは、同じネットワークに接続された両方 (コンピューターと電話) の USB ケーブルを使用して、電話でアプリをテストするとうまく機能します。同じルーターで接続されているコンピューターでサーバーを実行し、電話でアプリを実行してアプリをテストすると、問題が発生し、接続が確立されません。デバッグ モードで接続されたケーブルでアプリが正常に動作しているときに、これが発生する理由を理解できません。任意のアクティビティでソケットを取得するために、ソケット用のアプリケーションのサブクラスを作成しました。私のクライアントコードは次のとおりです。

package augID.main;

import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

import android.app.Application;
import android.util.Log;

public class socketApp extends Application {

    public static String serverIpAddress = "172.16.83.3";
    public static int REDIRECTED_SERVERPORT = 54321;
    public Socket socket;

  public void onCreate(){
        createConnection();   
  }
  public void createConnection(){
      Log.d("Client", "Connection");
      try {
            socket = new Socket(serverIpAddress, REDIRECTED_SERVERPORT);
            Log.d("Client", "Connection to server made");
         } catch (UnknownHostException e1) {
             Log.d("server","could not connect");
            e1.printStackTrace();
         } catch (IOException e1) {
             Log.d("server","could not connect");
            e1.printStackTrace();
         }
  }
}

どんな助けでも大歓迎です。

4

1 に答える 1

0

ルーターまたはファイアウォールが接続をブロックしている可能性はありますか? まだ行っていない場合は、ルーターにアクセスして、サーバーを実行している PC にポート 54321 を転送します。また、Wireshark をつかみ、携帯電話からの接続要求を探します。

お役に立てれば。

于 2012-05-12T22:27:51.843 に答える