Transmissão UDP em Java

Manhã.

Eu sou bastante novo em conexões Java e soquete, mas estou tentando enviar um pacote / transmissão UDP em 255.255.255.255 na porta 8001 para um dispositivo. Posso enviar os dados corretamente, no entanto, quando chega a hora de receber os dados, a conexão atinge o tempo limite. Tenho um farejador de pacotes e consigo ver o pacote ser enviado e o dispositivo responder.

Eu tenho certeza que é um erro de novato que eu estou perdendo no meu código, mas eu estou preso nele por algum tempo e qualquer ajuda seria apreciada.

 m_Socket = new DatagramSocket(m_SERVERPORT);
 InetAddress address = InetAddress.getByName(m_SERVERIP);


 m_DataPack = new DatagramPacket(m_SERVERCMD.getBytes(), m_SERVERCMD.getBytes().length,
 address, m_SERVERPORT);
 m_Socket.setBroadcast(true);
 m_Socket.connect(address, m_SERVERPORT);

 m_Socket.send(m_DataPack);
 m_DataPack = new DatagramPacket(data, data.length,
 address, m_SERVERPORT);


 m_Socket.receive(m_DataPack); // This is where it times out


 data = m_DataPack.getData();
 String received = data.toString();
 System.out.println("Received: " + received);
 m_Socket.close();

Obrigado e Gig'Em.

EDITAR:

Não tenho certeza se isso ajuda, mas quando assisto o objeto m_Socket, vejo o seguinte antes de enviar:

bound = true;
close = false;
connectedAddress = Inet4Address (id = 32) (-1,-1,-1,-1);
connectedPort = 8001;
connectState = 1;
created = true;
impl = PlainDatagramSocketImpl;
oldImpl = false;

e o objeto m_DataPack é o seguinte:

address = Inet4Address (id = 32) (-1,-1,-1,-1);
bufLength = 6 (size of packet I'm sending is 6 char long);
offset = 0;
port = 8001;