sが受け取れませんDatagramPacket
。ただし、wireshark を使用すると、パケットが到着していることを確認できました。このサイトで考えられる解決策に関する同様の質問を見たことがありますが、あまり役に立ちませんでした (すでにファイアウォールの無効化などを試みました)。私のコードは簡単です:
// Create socket
DatagramSocket socket = new DatagramSocket(5554);
socket.connect(InetAddress.getByName("192.168.1.1"), 5554);
try {
while(!stop) {
keepAwake(); // This sends some bytes using socket.send(...), works perfectly fine
DatagramPacket packet = new DatagramPacket(new byte[2048], 2048);
socket.receive(packet); // Does not work :(
System.out.println("[DEBUG] Packet received!"); // Never happens
// Parse packet
}
} catch (Exception e) {
e.printStackTrace(); // Also no exceptions are thrown
}
ここで何が問題になる可能性がありますか?ところで、私の OS は Ubuntu 12.10 で、パケットはソース コードを持っていない C で記述されたサーバーから送信されます (DatagramSocket は、Java DatagramSocket から送信された DatagramPackets のみを受信しますか?)。
提案があれば本当に感謝します!