Java:显示客户端IP和端口号

时间:2012-07-06 21:42:02

标签: java udp

您好我已经编写了一个小型UDP服务器程序。 我知道使用以下代码显示主机IP的代码很简单:

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

有没有办法显示连接到服务器的客户端的IP和端口号?

2 个答案:

答案 0 :(得分:3)

当您收到UDP DatagramPacket时,您可以通过DatagramPacket.getAddress()

检索数据包来源的远程IP

修改 如果您希望获得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()); 

答案 1 :(得分:1)

关于该示例:String clientip = DatagramPacket.getAddress(); 你为什么不把它投到String

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

虽然我目前还没有Java编译器。但试试看。很快就会回来。