네트워크에서 장치 검색을 위해 IP 주소 "255.255.255.255"에서 UDP 브로드 캐스트를 보내려고합니다. 프로그램이 실행되지만 Wireshark에서는 아무 것도 볼 수 없습니다. 네트워크에서 알려진 IP 주소로 IP 주소를 변경하면 Wireshark에서 패킷을 볼 수 있습니다. 무슨 일이야 ?Java에서 UDP 브로드 캐스트가 작동하지 않습니다.
이 내 코드입니다 :
public static void main(String args[]) throws Exception
{
String Broadcastaddress = new String("255.255.255.255");
int port = 9876;
DatagramSocket serverSocket = new DatagramSocket();
serverSocket.setBroadcast(true);
InetAddress IPAddress = InetAddress.getByName(Broadcastaddress);
System.out.println("Sending Discovery message to " + IPAddress + "Via UDP port " + port);
byte[] sendData = new byte[4];
sendData[0] = 'F';
sendData[1] = 'I';
sendData[2] = 'N';
sendData[3] = 'D';
DatagramPacket sendPacket = new DatagramPacket(sendData,sendData.length,IPAddress,port);
while (true)
{
serverSocket.send(sendPacket);
System.out.println("Packet sent");
}
}