2017-02-01 13 views
1

Androidスタジオとそのエミュレータで特定のポートに簡単なUDP接続を作成しようとしています。私はこの作業をクライアント/サーバーで実行することができ、両方ともEclipseでスレッドで実行していました。AndroidエミュレータでUDP接続を作成する

ただし、コードをAndroidに移植するときに開くポートはTCPです。以下は

は、Androidのコードです:

@Override 
    public void run() { 
     // Perform our network ops in this loop, anything blocking really... 

     try { 
      Log.d(TAG, "UDP Connecting to " + HOST + " on port " + PORT); 
      datagramSocket = new DatagramSocket(); 

      String host = "localhost"; 
      InetAddress address = InetAddress.getByName(host); 

      byte[] message = "UDP is da best".getBytes(); 
      DatagramPacket packet = new DatagramPacket(message, message.length, address, PORT); 

      datagramSocket.send(packet); 

      byte[] buffer = new byte[65536]; 
      DatagramPacket incoming = new DatagramPacket(buffer, buffer.length); 

      while (true) { 
       datagramSocket.receive(incoming); 
       byte[] data = incoming.getData(); 
       String s = new String(data, 0, incoming.getLength()); 

       Log.d(TAG, "Client: " + incoming.getAddress().getHostAddress() + " : " + incoming.getPort() + " - " + s); 

       Thread.sleep(500); 

       DatagramPacket dp = new DatagramPacket(s.getBytes() , s.getBytes().length , incoming.getAddress() , PORT); 
       datagramSocket.send(dp); 
      } 
     } catch (Exception e) { 
      Log.d(TAG, e.toString()); 
     } 

    } 

このコードは、かなりここhere

から取られているTCPとして作成されているポートの写真です:

+0

私はポート5555がアンドロイドで既に使用されていることを考え出したので、私はまだ結果と9876に移動しました –

答えて

0

最初にポートを変更して5555が使用されているときに問題が解決され、127.0.0.1が10.0.2を使用するいずれのIPでも使用できなくなりました。 2私に接続され、すべてが働いた

関連する問題