您好我已经编写了一个小型UDP服务器程序。 我知道使用以下代码显示主机IP的代码很简单:
System.out.println("Listening Port: " + serverSocket.getLocalPort());
System.out.println("IP: " + myIp.getHostAddress());
有没有办法显示连接到服务器的客户端的IP和端口号?
答案 0 :(得分:3)
当您收到UDP DatagramPacket
时,您可以通过DatagramPacket.getAddress()
修改强>
如果您希望获得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编译器。但试试看。很快就会回来。