0
DatagramPacketでのブロードキャスト受信について
Java初心者です。
現在、JavaにてUDP送受信テストを行っているのですが、
ユニキャストの場合は送受信ともに成功するのですが、
ブロードキャストした場合の受信のみ行えません
どなたかご教授願えないでしょうか?
Windowsファイアウォールには、UDP/10001を例外許可しており
ログにはDROP記録は残っていませんでした
●環境
JDK1.7.0_02
WindowsXP
ローカルマシン内での送受信テスト
●ソース
-------------------------------------------
import java.net.*;
import java.util.*;
public class PacketReceiver {
public static void main(String[] args) throws Exception {
InetSocketAddress isAddress
= new InetSocketAddress("0.0.0.0",10001);
byte[] buffer = new byte[1024];
DatagramPacket packet
= new DatagramPacket( buffer, buffer.length );
DatagramSocket dgSocket = new DatagramSocket(isAddress);
dgSocket.setBroadcast(true);
dgSocket.setReuseAddress(true);
while (true) {
dgSocket.receive(packet);
System.out.print (new String(packet.getData(),0,
packet.getLength()));
System.out.println( ": " + new Date() );
}
}
}
-------------------------------------------
import java.net.*;
public class PacketSender {
public static void main( String[] args ) throws Exception {
InetSocketAddress isAddress
= new InetSocketAddress("192.168.100.255",10001);
byte[] buffer = "HELLOW".getBytes();
DatagramPacket packet
= new DatagramPacket( buffer, buffer.length, isAddress );
new DatagramSocket().send(packet);
}
}
-------------------------------------------