こんにちは、小さな UDP サーバー プログラムを作成しました。ホスト IP を表示するコードは、次のコードを使用すると簡単です。
System.out.println("Listening Port: " + serverSocket.getLocalPort());
System.out.println("IP: " + myIp.getHostAddress());
サーバーに接続しているクライアントのIPとポート番号を表示する方法はありますか?
UDP を受信するDatagramPacket
と、パケットの発信元から遠隔 IP を取得できます。DatagramPacket.getAddress()
EDIT
IPアドレスの文字列表現を取得したい場合は、単に使用してDatagramPacket.getAddress().toString()
ください。
例:
DatagramPacket p = new DatagramPacket(buffer,
buffer.length);
ds.receive(p); // Receive data here...
System.out.println("Received data packet from :"+p.getAddress().toString());
そのサンプルについて:String clientip = DatagramPacket.getAddress();
にキャストしてみませんかString
。
String clientip = (String) DatagramPacket.getAddress();
現時点ではJavaコンパイラを実際には持っていませんが。しかし、それを試してみてください。本当にすぐに戻ってきます。