1

こんにちは、小さな UDP サーバー プログラムを作成しました。ホスト IP を表示するコードは、次のコードを使用すると簡単です。

System.out.println("Listening Port: " + serverSocket.getLocalPort());
System.out.println("IP: " + myIp.getHostAddress());

サーバーに接続しているクライアントのIPとポート番号を表示する方法はありますか?

4

2 に答える 2

3

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()); 
于 2012-07-06T21:48:49.550 に答える
1

そのサンプルについて:String clientip = DatagramPacket.getAddress(); にキャストしてみませんかString

String clientip = (String) DatagramPacket.getAddress();

現時点ではJavaコンパイラを実際には持っていませんが。しかし、それを試してみてください。本当にすぐに戻ってきます。

于 2013-03-24T06:33:32.323 に答える