繁体   English   中英

UDP 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM