Как мне проверить связь с сервером в J2ME / BlackBerry? - PullRequest
3 голосов
/ 17 марта 2010

Как мне проверить связь с сервером в J2ME / BlackBerry с использованием Java? Это кажется базовым, но я не могу найти его в Javadocs. Спасибо.

Ответы [ 2 ]

4 голосов
/ 17 марта 2010

Ping требует отправки ICMP-пакета на хост, и, к сожалению, API-интерфейсы J2ME и BlackBerry не дают такого низкоуровневого контроля над сетью. Максимум, что вы можете сделать, это установить HTTP или сокет соединения с конечной точкой.

3 голосов
/ 19 марта 2010

Если ваша цель - определить, есть ли у вас подключение к Интернету, решение намного сложнее, чем эквивалент отправки пинга. BlackBerry не является обычным хостом, подключенным к IP, как ваш обычный ПК, и поэтому имеет много различных базовых транспортов, которые можно использовать для подключения к чему-либо через Интернет. К ним относятся:

  • WAP 1.0 (устаревший транспорт, только HTTP'ish)
  • WAP 2.0 (прокси-сервер, обычно HTTP, иногда Socket)
  • MDS (Прокси через инфраструктуру BES)
  • BIS-B (Прокси через инфраструктуру RIM, доступно только для партнеров по BB BB)
  • Прямой TCP (почти прямой доступ в Интернет, может потребоваться настройка APN оператора на устройстве)
  • Wi-Fi (прямо в интернет)

Поэтому часто проблема надежного открытия соединения может включать в себя попытку некоторых подмножеств вышеупомянутых транспортов, и может быть сложно определить доступность и охват вышеупомянутого.

Если вы используете BB OS 5.0, то проблема значительно упрощается благодаря недавно представленному ConnectionFactory API. Если вы используете более старые версии BB OS, RIM имеет образец кода для Network Diagnostic Tool , который может вам помочь. Он не идеален, и вам, безусловно, нужно провести серьезное тестирование на устройстве, чтобы выявить изломы, но он является хорошей отправной точкой для изучения всех необходимых API.

...