DatagramSocket socket = new DatagramSocket(5500);
InetAddress address=InetAddress.getByName("127.0.0.1");
String message="start server";
byte[] data=message.getBytes();
DatagramPacket sendPacket = new DatagramPacket(data,data.length, address, 5400);
try {
socket.send(sendPacket);
} catch (IOException e) {
e.printStackTrace();
}
答案 0 :(得分:0)
您如何配置Wireshark?是否存在环回接口?如果不是,您将无法跟踪发送到localhost(127.0.0.1)的数据包。尝试将它们发送到其他IP,例如192.168.1.100或其他。如果您只想使用wireshark跟踪数据包,请不要在意它是否存在。
https://wiki.wireshark.org/CaptureSetup/Loopback
如果您使用的是Windows系统,请尝试使用RawCap数据包嗅探器http://www.netresec.com/?page=Blog&month=2011-04&post=RawCap-sniffer-for-Windows-released
答案 1 :(得分:0)
我认为您的代码没问题。正在发送数据包(您也可以尝试使用Java来监听它们)
也许Wireshark不适用于localhost,我认为它可能无法开箱即用。例如,在Windows上它似乎不起作用,如documentation
中所述答案 2 :(得分:0)
您在Windows或Linux上运行吗?在Windows中,您无法使用Wireshark(实际上使用WinPcap)在环回接口中嗅探数据包。 https://wiki.wireshark.org/CaptureSetup/Loopback
尝试发送到其他IP地址,即使无法访问。您应该至少看到一条消息,然后您可能会收到无法到达目的地的ICMP消息。
代码看起来不错。
其次,您是否有端口5400上的UDP服务器监听?看看你是否收到了什么。