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として作成されているポートの写真です:
私はポート5555がアンドロイドで既に使用されていることを考え出したので、私はまだ結果と9876に移動しました –