【发布时间】:2020-06-16 20:17:53
【问题描述】:
我正在使用 Java 的 DatagramSocket 将 UDP 消息从 Java 发送到本地主机上的特定端口。我用 netcat 监听这个端口:nc -ul 9122.
在我的 Java 代码第一次运行时(在启动 nc 之后)- 消息被接收并显示在我的 shell 上。在彼此运行时 - 未收到消息。只有重启 nc 才行。
这是我的 Java 代码:
public static void main(String[] args) throws IOException, InterruptedException {
byte[] buf = "Hi There\n".getBytes();
InetAddress address = InetAddress.getLocalHost();
DatagramPacket packet = new DatagramPacket(buf, buf.length, address, 9122);
DatagramSocket datagramSocket = new DatagramSocket();
datagramSocket.connect(InetAddress.getLocalHost(), 9122);
if(datagramSocket.isConnected()) {
datagramSocket.send(packet);
Thread.sleep(500);
datagramSocket.send(packet);
Thread.sleep(500);
datagramSocket.send(packet);
}
}
我错过了什么? 谢谢
【问题讨论】: