黑莓大胆的隧道失败。为什么?

时间:2009-07-14 15:06:23

标签: networking blackberry java-me tunnel rim-4.6

我创建了一个j2me程序并将其移植到黑莓粗体。

该程序执行一些http查询。 偶尔会出现例外情况:'隧道失败'

我的APN设置是正确的(因为有时它确实有效)。

我使用附加到网址<'p>的“;deviceside=true”进行连接

我注意到当浏览器刚刚处于活动状态时,程序始终有效。 但是,当浏览器在几分钟内没有激活并且我启动程序时,我得到了隧道失败的错误。

3 个答案:

答案 0 :(得分:2)

一些黑莓设备的问题是每个其他网络连接都失败了。因此,当您收到异常时,您将不得不再次尝试。所以你的连接代码应该是这样的

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++;
}

希望这可以解决您的问题

答案 1 :(得分:1)

作为测试,您可能想尝试在URL本身上添加APN设置以查看是否有帮助。我假设你有很好的信号强度?

答案 2 :(得分:1)

即使您只是从连接中读取,这听起来也很愚蠢,请确保在打开连接器时将其打开为读/写

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