Туннель провалился в ежевике жирным шрифтом. Зачем?
Я создал программу 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, чтобы проверить, поможет ли это. Я полагаю, у вас хороший уровень сигнала?