Java:显示客户端IP和端口号
您好我已经写了一个小的UDP服务器程序。 我知道使用以下代码显示主机IP的代码很简单:
System.out.println("Listening Port: " + serverSocket.getLocalPort()); System.out.println("IP: " + myIp.getHostAddress());
有没有办法显示连接到服务器的客户端的IP和端口号?
当您收到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());
关于该示例: String clientip = DatagramPacket.getAddress();
你为什么不把它投到String
。
String clientip = (String) DatagramPacket.getAddress();
虽然我目前还没有真正的Java编译器。 但试试看。 很快就会回来。