Ошибка отправки UDP на BlackBerry - PullRequest
1 голос
/ 19 января 2009

Пишу сетевое приложение для Blackberry. Этот код корректен на симуляторе, но не работает на устройстве. Когда я запускаю свое приложение на симуляторе, мой сервер получает сообщение, но когда я запускаю его на устройстве, я получаю исключение not IOException с сообщением "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);
        }
    }
}

Ответы [ 3 ]

2 голосов
/ 20 января 2009

Доступ к сети на BlackBerry отнюдь не очевиден с точки зрения разработчика. Либо необходимо указать способ подключения в URL-адресе, либо устройство должно иметь правильные настройки APN в «Параметры»> «Дополнительные параметры»> «Параметры TCP». Вы можете попробовать найти их и ввести их, чтобы увидеть, работает ли это.

1 голос
/ 30 апреля 2009

UDP требует, чтобы APN был установлен в Connector.open():

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

Для получения дополнительной информации об этом проверьте Разъем

Он отлично работает на симуляторе без APN, потому что на симуляторе нет APN, но вам нужно на реальном устройстве.

0 голосов
/ 19 января 2009

Я могу представить две возможности:

  1. UDP равен optional в спецификации J2ME - так что, возможно, Blackberry его не поддерживает.
  2. Сеть, в которой находится устройство, может не поддерживать его, и устройство может обнаружить это и сообщить об этом за исключением.
...