簡體   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