2017-03-04 11 views
0

Androidクライアント(私の電話から)からサーバー(私のPC)に接続しようとしています。サーバーとクライアントの両方がKryoNetを使用しています。サーバーと同じPC上にあるクライアントから接続しようとすると、接続は成功します。ワイヤレスに接続されたAndroid携帯から(サーバーを実行するPCと同じルーターに)接続しようとすると、接続も成功します。モバイルデータを使用しているときに電話機から接続しようとすると接続が失敗します(タイムアウトエラーが発生します)。私はポートフォワーディングを行い、Windowsのファイアウォール設定からポートを開いた。どのようなアイデアが間違っている?Androidクライアントがサーバーに接続していません。KryoNet

クライアントコード:

final Client client = new Client();  
     client.getKryo().register(StringRequest.class); 
     final StringRequest request = new StringRequest(); 
     new Thread(client).start(); 

     System.out.println("Client started."); 

     try { 
      client.connect(5000, ipAddress, 54555); 
      client.addListener(new Listener() { 
       public void received(Connection connection, Object object) { 
        if (object instanceof StringRequest) { 
         StringRequest response = (StringRequest) object; 
         Gdx.app.log("Client",response.data); 
        } 
       } 
      }); 
     } catch (IOException e) { 
      Gdx.app.log("Exception", e.getMessage()); 
      e.printStackTrace(); 
     } 
     request.data = "Hello"; 
     client.sendTCP(request); 

Serverコード:

Server server = new Server(); 
    Kryo kryo = server.getKryo(); 
    kryo.register(StringRequest.class); 
    server.start(); 
    try { 
     server.bind(54555); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    server.addListener(new Listener() { 
     public void received (Connection connection, Object object) { 
      if (object instanceof StringRequest) { 
       StringRequest request = (StringRequest)object; 
       System.out.println("Server"+request.data); 
       StringRequest response = new StringRequest(); 
       response.data = "response"; 
       connection.sendTCP(response); 
      } 
     } 
    }); 

答えて

0

あなたのAndroidアプリケーションは、インターネットのアクセス権を持っていますか?

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

ネットワーク経由で通信する必要があります。また、ローカルIP(192.168.x.xxx)ではなく、お使いのPCの外部IPに接続しようとしていることを確認してください。あなたは外部IP hereを得ることができます。

+0

もう一度おねがいします。私はローカルIPを使用していた、それは問題でした。 – Andy

関連する問題