Java Blackberry Bold 9000互联网连接工作正常,然后中断

Java Blackberry Bold 9000互联网连接工作正常,然后中断,java,blackberry,httpconnection,Java,Blackberry,Httpconnection,我在网上读了很多帖子,但我还没有找到解决办法 我开发了一个黑莓应用程序(SDK 5),它使用HttpConnection从服务器获取/设置数据 我尝试通过无线和G2/G3连接 在这两种情况下,应用程序工作时间很长,然后突然中断Internet连接(有时在服务器加载数据的中间)。 在此之后,应用程序无法工作,我也无法访问任何网页(在BB浏览器中)。看起来像是互联网 当我在BB浏览器中尝试时,我收到以下消息: 无法连接到Internet,请稍后再试。如果 问题仍然存在,请与您的服务提供商联系 恢复互

我在网上读了很多帖子,但我还没有找到解决办法

我开发了一个黑莓应用程序(SDK 5),它使用
HttpConnection
从服务器获取/设置数据

我尝试通过无线和G2/G3连接

在这两种情况下,应用程序工作时间很长,然后突然中断Internet连接(有时在服务器加载数据的中间)。 在此之后,应用程序无法工作,我也无法访问任何网页(在BB浏览器中)。看起来像是互联网

当我在BB浏览器中尝试时,我收到以下消息:

无法连接到Internet,请稍后再试。如果 问题仍然存在,请与您的服务提供商联系

恢复互联网的唯一方法是转到“设置”并禁用WiFi,然后重新启用。在那之后,它起作用了,但又持续了一段时间

它从不在同一点断裂

下面是我用来从服务器获取数据的代码:

String urlPath = "http://www.mysite.com/api/?debug=true";
//debug is my variable on the site, it's not necessary

if(DeviceInfo.isSimulator()){
    urlPath += ";deviceside=true";
} else {
    if (WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED) {
        urlPath += ";interface=wifi";
    }else{
        urlPath += ";deviceside=true";
    }
}

HttpConnection httpConn = (HttpConnection) Connector.open( urlPath );

httpConn.setRequestMethod(HttpConnection.POST);
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.0");
httpConn.setRequestProperty("Content-Language", "en-US");
httpConn.setRequestProperty("Connection", "close");

OutputStream os = httpConn.openOutputStream();

os.write(temp1.getBytes());
os.flush();
os.close();
StringBuffer sb = new StringBuffer();
DataInputStream is = httpConn.openDataInputStream();
int chr;
while ((chr = is.read()) != -1) {
    sb.append((char) chr);
}

String response = new String(sb.toString().getBytes(), "UTF-8");
我做错了什么

有没有办法解决这个问题并保持连接的稳定性和响应性


谢谢。

您应该使用新的
ConnectionFactory
类,而不是自己对后缀进行编码。至于连接问题,是每个设备都会出现连接问题,还是单个设备会出现连接问题?顺便说一句,在模拟器应用程序中效果很好,这只会发生在真实设备上。@MisterSmith先生,我只在BlackBerry Bold 9000上测试过。我将尝试使用ConnectionFactory类。@史密斯先生感谢您提出使用ConnectionFactory类的建议,现在应用程序可以在不手动设置连接参数的情况下工作,但在某些情况下,Internet连接仍会中断/被禁用。我不知道问题出在哪里。我之前发布的代码是我用来从互联网获取数据的唯一代码,它就在线程中。可能是手机出了问题还是我的应用程序出了问题?你可以在不同的真实设备上测试它,看看是硬件还是配置问题。您还可以尝试使用其他服务器,以确保服务器没有断开连接。