我有两个应用程序-一个在我的PC上广播UDP数据报,另一个在Raspberry PI上-接收它们。问题在于PI似乎没有收到数据报-它挂在DatagramSocket.receive()
Java中用于PI的代码如下:
try {
int port = 8888;
DatagramSocket socket = new DatagramSocket(port);
byte[] buffer = new byte[2048];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
while (true) {
socket.receive(packet);
String msg = new String(buffer, 0, packet.getLength());
System.out.println(packet.getAddress().getHostName());
}
} catch (Exception e) {
e.printStackTrace();
}
PC通过wifi连接到本地网络,而PI通过以太网电缆连接。它们的IP地址为192.168.0.3和192.168.0.5。服务器应用程序正在将UDP数据报发送到广播地址-255.255.255.255,我在Wireshark中可以看到发送了数据报。我想念什么?