Туннель провалился в ежевике жирным шрифтом. Зачем?

Я создал программу j2me и портировал ее на Blackberry Bold.

Программа выполняет несколько http-запросов. Время от времени они терпят неудачу за исключением: "туннель не удался"

Мои настройки APN верны (так как иногда это работает).

Я соединяюсь с;deviceside=trueдобавлен в URL

Я замечаю, что когда браузер только что активен, программа всегда работает. Однако, когда браузер не был активен в течение нескольких минут, и я запускаю программу, я получаю сообщения об ошибках туннеля.

3 ответа

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

int numAttempts = 0;
boolean hasConnectedSuccessfully = false;
while(numAttempts < 2 && !hasConnectedSuccessfully)
{
   try
   {
     // do the http connection
      hasConnectedSuccessfully = true;
   }
   catch(Exception e)
   {
      hasConnectedSuccessfully = false;
   }
   finally
   {
     //close the connections
   }
   numAttempts++;
}

Надеюсь, что это должно решить вашу проблему

Как бы глупо это не звучало, даже если вы читаете только из соединения, убедитесь, что при открытии разъема вы открываете его как чтение / запись.

String url = "http://www.google.com";
HttpConnection connection = (HttpConnection)Connector.open(url, Connector.READ_WRITE, true);

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

Другие вопросы по тегам