Сетевые различия - PullRequest
       17

Сетевые различия

1 голос
/ 28 мая 2010

Я занят работой над java-приложением для запуска на blackberry, но на некоторых устройствах, на которых я тестирую, кажется, что код не работает, и мне трудно определить, в чем проблема.

У меня такой вопрос: может ли проблема с некоторыми работающими и не работающими телефонами иметь отношение к типу сети, в которой они работают, например, GSM или CDMA, и будет ли код, который перестает работать на некоторых устройствах, находиться в одной из следующих областей :

1) Слушатели - такие как MessageListener и Phone Listener

2) Объекты пользовательского интерфейса - простые тестовые метки и кнопки

3) Подключение к веб-сервису с использованием ksoap2

Приложение в основном прослушивает записи вызовов и смс, а затем отправляет их в веб-службу. Проблема, которую я получаю, состоит в том, что на некоторых устройствах я не вижу ничего, входящего в веб-сервис. Я не могу действительно активно отлаживать это легко на телефоне, так как он работает в качестве теста на устройстве в США (им в Южной Африке), поэтому мне просто интересно, смогу ли я получить какое-то объяснение легко, без необходимости проверять телефон по телефону и снова посмотреть, что произойдет.

Я разработал с v4.7 и устройства в США с v4.6 и v5.0 работали, а другая пара устройств (v4.6 и v5.0) не так, я не думаю, что это проблема версии.

Ответы [ 2 ]

1 голос
/ 28 мая 2010

Если вы используете транспорт Direct TCP, то телефонам GSM часто необходимо включать APN сети в параметры соединения URL. Это самая большая проблема использования Direct TCP. Некоторые операторы GSM устанавливают APN в настройках устройства на заводе-изготовителе, но многие по-прежнему этого не делают, и это зависит от приложения (или пользователь должен ввести значения APN в настройках устройства).

Если вы не хотите разбираться в определении APN для каждой мобильной сети, которую планируете поддерживать, вы можете использовать другой транспорт, такой как WAP2 (который не всегда доступен на всех устройствах) или BIS ( который требует членства в программе BlackBerry Alliance).

0 голосов
/ 28 мая 2010

GSM против CDMA не будет иметь (прямой) разницы. ОС может иметь значение, но вы это проверили. Если устройство подключено к BES (Blackberry Enterprise Server), это может иметь эффект при наличии политики безопасности, передаваемой на устройство.

Однако у меня есть ощущение, что это может быть связано с тем, что ваш код не проверяет все ошибки и, следовательно, не дает ожидаемого поведения, когда Blackberry сталкивается с плохими сетевыми условиями или веб-сервер находится под высокой нагрузкой и может t ответить или любые другие ошибки, которые могут возникнуть с веб-сайтом (опять же, BES может быть проблемой, блокирующей доступ к вашему сайту).

Например, ваш код выглядит так:

if(call received)
  Create Web Request
  Add call parameters to Web Request
  Execute Web Request

Или это выглядит так:

if(call received)
  Add call parameters to queue

if(parameters still in queue)
  Create Web Request
  Add parameters to Web Request
  Execute Web Request
  if(request was successful)
     Remove parameters from queue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...