preciso receber um dado via ethernet e tratá-lo!!! receber é de boa, recebo uma serie de coisas aleatorias, mas nao consigo identificar o que me foi enviado. segue o codigo abaixo e o que aparece no console:
public class UDP_Receive {
private DatagramSocket serverSocket;
private DatagramPacket question, answer;
private String tosend;
private byte[] buffer;
/*
* Construtor
*/
public UDP_Receive() {
//vazio
}
/*
* Método responsavel por receber dados da ethernet
*/
public void receiveMsg_UDP(int porta) throws IOException {
System.out.println("Pronto para receber e enviar dados via ethernet.");
// Executando na porta 80
serverSocket = new DatagramSocket(porta);// 80
// Cria o datagrama para receber uma mensagem
question = new DatagramPacket(new byte[512],512);
// aguarda até o recebimento de uma mensagem
serverSocket.receive(question);
//Enviando uma resposta
tosend = "Resposta enviada";
buffer = tosend.getBytes();
answer = new DatagramPacket(buffer, buffer.length, question
.getAddress(), question.getPort());
serverSocket.send(answer);
// ************************************************************
System.out.println("ANSWER: " + answer);
System.out.println("QUESTION: " + question);
System.out.println("BUFFER: " + buffer);
// ************************************************************
// Fechando o socket
serverSocket.close();
}
}
o que aparece no console:
ANSWER: java.net.DatagramPacket@89fbe3
QUESTION: java.net.DatagramPacket@f81843
BUFFER: [B@dd5b