networking - 在没有 BES 的情况下运行黑莓应用程序时出现问题

标签 networking blackberry jde

我正在开发一个 Blackberry 应用程序,它使用 HttpConnections 和 InputStreams 进行大量联网。我一直在可以访问 BES 的环境中对其进行测试,但将仅使用无线方式对其进行演示。

在 Bold 9000 上的一些初步测试表明,虽然手机的网络浏览器可以上网,但我的应用程序不能。我的理解是 BES 通常处理大部分网络逻辑,而黑莓本身并不是很擅长。

我看到一些关于必须将“;interface=wifi”添加到我尝试连接的 url 的引用资料,但是当我这样做时,逐步下载大电影文件会在几秒钟后挂起。

还有什么可以让 Blackberry 应用程序仅通过无线方式工作吗?是否有我可以使用的签名类来处理这个问题?

编辑

看起来发生的情况是网络极有可能无法正常工作——一般套接字异常。问题是,对于大文件,我正在做 许多 连接,以 256k 的 block 为单位,因此对于大文件,最终会出现更多错误问题。我真的不知道该如何处理。

编辑

我使用了 Connector.open 方法,使用具有超时选项的 .open 版本。如果一个特定的网络调用没有返回,这是我的问题,除了异常,然后它会在几秒钟后重试。它也为异常执行此操作。这充其量只是临时修复,如果有人知道提高非 BES 网络性能的方法,我很乐意听听。

最佳答案

一个简单的解决方案是检查 WiFi 覆盖状态

public boolean GetWiFiCoverageStatus()  {
    if((WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED) &&
              RadioInfo.areWAFsSupported(RadioInfo.WAF_WLAN)) {
              // this.connectionString += ";interface=wifi";
              return true;
    } else return false;           
}

这将确保仅当设备连接到接入点时才建立连接。

编辑:

第二 您应该检查的是这个知识库条目 (HTTP 413 Request Entity Too Large)

第三个 添加:您是否在连接字符串中使用了;deviceside=true?如果没有 MDS 后端,您必须使用此附录来确保正常的 TCP/IP 连接

关于networking - 在没有 BES 的情况下运行黑莓应用程序时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1613208/

相关文章:

java - BlackBerry JDE 支持的设备吗?

c# - 家庭网络上的 SignalR

黑莓应用程序启动速度非常慢,我该如何解决这个问题?

java - 单独编译和安装Web服务

jdeveloper - Oracle JD Edwards EquipementManager 文档

java - 黑莓中的图像浏览器

c - 为什么 Else if 当我有 "ADD_FILE "不工作?

android - 从网络资源中搜索建议到快速搜索框中

c++ - 如何从esp32查找PC local-ip以使用MQTT Node.js服务器

java - 签名后黑莓有权连接互联网吗?