The following code is what im using to listen broadcast messages from network:
void startBroadcastListener(final int receivingPort)
{
new Thread()
{
public void run()
{
try
{
int port = receivingPort;
dsocket = new DatagramSocket(port);
byte[] buffer = new byte[2048];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
while (true)
{
//System.out.println("Receiving...");
dsocket.receive(packet);
String msg = new String(buffer, 0, packet.getLength());
packet.setLength(buffer.length);
String binaryString = convertHexToBinary(packet.getData()).replaceAll("\\s","");
//System.out.println(packet.getAddress().getHostName() + ": " + binaryString);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}.start();
}