UDP Erro de envio de BlackBerry

votos
1

Eu estou escrevendo aplicativo de rede para Blackberry. Este código está correto no simulador, mas não funciona em um dispositivo. Quando eu executar o meu aplicativo no simulador, o meu servidor recebe a mensagem, mas quando eu executá-lo em um dispositivo, recebo uma exceção, not IOException, com a mensagem NULL.

try {
     byte[] b = msg.getBytes();
     dc = (UDPDatagramConnection)Connector.open(datagram://+getHIP()+: + getHPort());
     Datagram dobject = dc.newDatagram(b, b.length);
     dc.send(dobject);
     System.out.println(Addr: + dobject.getAddress());
     System.out.println(Well Done!);
} catch (IOException e) {
    System.out.println(e.getMessage());
} catch (Exception e) {
    System.out.println(e.getMessage());
} finally { 
    if (dc != null) {
        try {
            dc.close();
        } catch (Exception f) {
            System.out.println(Failed to close Connector:  + f);
        }
    }
}
Publicado 18/01/2009 em 22:11
fonte usuário
Em outras línguas...                            


3 respostas

votos
2

acesso à rede no BlackBerry está longe de seemless do ponto de vista do desenvolvedor. Você tem que especificar como a conexão deve ser feita na URL, ou o dispositivo tem que ter as configurações de APN corretas em Opções> Opções avançadas> Configurações de TCP. Você poderia tentar encontrar aqueles e introduzi-los para ver se funciona.

Respondeu 20/01/2009 em 19:30
fonte usuário

votos
1

UDP requer a APN para ser definido no Connector.open():

(DatagramConnection) Connector.open("udp://<host>:<dest_port>[;<src_port>]/<apn>[|<type>][;tunnelauthusername=<apn username>;tunnelauthpassword=<apn password>]");

Para mais informações sobre isso consulte a Connector

Ele funciona muito bem no simulador w / o APN, porque o simulador não tem um APN, mas você precisa em um dispositivo real.

Respondeu 30/04/2009 em 17:15
fonte usuário

votos
-1

Não consigo pensar em duas possibilidades:

  1. UDP é optionalna especificação J2ME - talvez por isso o Blackberry não apoiá-lo.
  2. A rede do dispositivo está ligado pode não apoiá-lo, e o dispositivo pode detectar isso, e relata-o com uma exceção.
Respondeu 18/01/2009 em 23:07
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more