Java:显示客户端IP和端口号
你好,我写了一个小的UDP服务器程序。 我知道使用以下代码可以轻松显示主机IP:Java:显示客户端IP和端口号,java,udp,Java,Udp,你好,我写了一个小的UDP服务器程序。 我知道使用以下代码可以轻松显示主机IP: System.out.println("Listening Port: " + serverSocket.getLocalPort()); System.out.println("IP: " + myIp.getHostAddress()); 有没有办法显示连接到服务器的客户端的IP和端口号?当您收到UDPDatagramPacket时,您可以通过DatagramPacket.getAddress() 编辑 如果
System.out.println("Listening Port: " + serverSocket.getLocalPort());
System.out.println("IP: " + myIp.getHostAddress());
有没有办法显示连接到服务器的客户端的IP和端口号?当您收到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());
当您收到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());
关于该示例:
stringclientip=DatagramPacket.getAddress()代码>
为什么不直接将其转换为String
String clientip = (String) DatagramPacket.getAddress();
虽然我目前还没有真正的Java编译器。但是试试看。很快就会回来。关于该示例:字符串clientip=DatagramPacket.getAddress()代码>
为什么不直接将其转换为String
String clientip = (String) DatagramPacket.getAddress();
虽然我目前还没有真正的Java编译器。但是试试看。很快就会回来。旁注:请阅读您之前的问题。这是TCP代码。你确定你的意思是UDP吗?旁注:请阅读你之前的问题。这是TCP代码。你确定你是指UDP吗?我厌倦了这个字符串clientip=DatagramPacket.getAddress();但我得到的错误类型不匹配:无法从InetAddress转换为字符串。你能给我一个代码示例吗?不能从DatagramPacket类型对非静态方法getAddress()进行静态引用。谢谢你的帮助,但是我现在得到了这个错误,哈哈,我们正在朝着这个目标前进:)请参阅我的编辑,以获得关于如何使用这个字符串的完整示例clientip=DatagramPacket.getAddress();但我得到的错误类型不匹配:无法从InetAddress转换为字符串。你能给我一个代码示例吗?不能从DatagramPacket类型对非静态方法getAddress()进行静态引用。谢谢你的帮助,但我现在得到了这个错误哈哈,我们正在朝着目标前进:)请参阅我的编辑,以获得一个关于如何使用它的完整示例