Olá eu preciso fazer um app J2ME se comunicar com vários processos que são feitos em Java EE, como eu posso fazer do lado do J2ME uma conexão que envie mensagens broadcast. E como posso fazer o outro lado ouvir?? Eu estou tentando assim, mas não funciona…
Do lado do J2ME
public Datagram data;
public UDPDatagramConnection socket;
public void Conecta()
{
try
{
socket =(UDPDatagramConnection) Connector.open("datagram://226.255.255.255:2001",Connector.READ_WRITE,true); //Conectando num IP Broadcast
System.out.println("Conectado UDP");
}
catch(Exception e)
{
System.out.println("[UDP Connector] Erro ao tentar conectar UDP: " + e.getMessage());
e.printStackTrace();
}
}
public void EnviaMsg(String msg)
{
try {
//Montando pacote de mensagem.
byte [] buffer = msg.getBytes();
data = socket.newDatagram(buffer, buffer.length);
//Enviando mensagem
socket.send(data);
System.out.println("Enviado: " + msg + " no ip " + data.getAddress().toString());
}catch (Exception e) {
System.out.println("[UDP Connector] Erro ao tentar enviar mensagem UDP: " + e.getMessage());
e.printStackTrace();
}
}
Do lado do JavaEE
private static MulticastSocket msocket;
private static int Porta;
private static InetAddress Ip;
public UDPConnector()
{
Porta = 2001;
try {
Ip = InetAddress.getByName("226.123.43.2");
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
public boolean Conecta()
{
try
{
msocket=new MulticastSocket(Porta);
msocket.joinGroup(Ip);
System.out.println("Conectado");
return true;
}
catch(Exception ex)
{
System.out.println("Erro ao conectar no grupo UDP" + ex.getMessage());
ex.printStackTrace();
return false;
}
}
public String Wait(int timeout)
{
try {
// socket.setSoTimeout(timeout);
byte [] buffer = new byte[512];
Datagram mdata = socket.newDatagram(buffer.length);
socket.receive(mdata);
String msg = “”+new String(mdata.getData(),mdata.getOffset(),mdata.getLength());
return msg;
}
catch (Exception e) {
System.out.println("Erro no WaitGenerico " + e.getMessage());
e.printStackTrace();
return null;
}
}
Mas o Java EE não está recebendo as mensagens. Alguém pode me ajudar???
Obrigado!