![](/img/trans.png)
[英]programming a client to send a HTTP request message to a server with a UDP connection in Java
[英]UDP Java Wont send message
你好朋友你好吗? 我正在尝试发送udp消息,并且我在Wireshark中寻找它,但似乎无法找到它,你们中的任何人都可以告诉我这里是否存在问题? 或找到我的解决方案? 谢谢!
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();
}
您如何配置Wireshark? 是否存在环回接口? 如果不是,您将无法跟踪发送到本地主机(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
我认为您的代码还可以。 数据包正在发送(您也可以尝试使用Java侦听它们)
也许Wireshark不适用于localhost,我认为它可能开箱即用。 例如,在Windows上,它似乎不起作用,如其文档中所述
您是在Windows还是Linux上运行? 在Windows中,您无法在环回接口中使用Wireshark(实际上是WinPcap)来嗅探数据包。 https://wiki.wireshark.org/CaptureSetup/Loopback
即使无法访问,也尝试发送到其他IP地址。 您应该至少看到一条消息发出,然后您可能会收到指向不可达目标的ICMP消息。
代码看起来不错。
其次,您是否在端口5400上监听UDP服务器? 看看您是否收到东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.