2009-10-23 29 views
3

我正在開發一個使用HttpConnections和InputStreams進行相當多聯網的黑莓應用程序。我一直在可以訪問BES的環境中對它進行測試,但只會通過無線方式進行演示。無BES運行黑莓應用程序的問題

對Bold 9000進行的一些初步測試表明,雖然手機的網絡瀏覽器可以上網,但我的應用程序卻無法上網。我對它的理解是,BES通常處理大部分網絡邏輯,而且黑莓本身並不擅長。

我見過一些參考文獻,不得不向我正在嘗試連接的網址添加「; interface = wifi」,但是當我這樣做時,逐步下載大型電影文件將在幾秒鐘後掛起。

還有什麼可以做的,讓黑莓應用程序只與無線工作?是否有簽署的課程可以用來處理這個問題?

編輯

它看起來像正在發生的事情是,有聯網的一個難得的機會,只是不工作 - 通用插座例外。問題在於,對於大文件,我正在做多個連接,大小爲256k,所以對於大文件,最終會出現更多的錯誤問題。我真的不知道如何處理這個問題。

編輯

我用周圍的工作與我的Connector.open方法,使用的。開的版本有一個超時選項。如果特定網絡呼叫不會返回,除了例外,這是我的問題,然後在幾秒鐘後重試。它也爲例外做到這一點。這充其量只是一個臨時性的解決方案,如果有人知道改善非BES網絡性能的方法,我很樂意聽到它。

回答

2

一個簡單的解決辦法是檢查是否有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)

另外:你使用;在連接字符串中裝置側=真的嗎?如果沒有MDS後端,您必須使用本附錄來確保正常的TCP/IP連接

+0

檢查WiFi覆蓋與我的應用程序無關,因爲它是一個僅用於受控條件的原型。我知道我有wifi接入,而且這個接入是不夠的。 我知道的HTTP 413錯誤(這就是爲什麼我正在進行下載塊數小於最大值) 我沒有使用; deviceside = true,因爲開發網站說這不適用於僅限Wifi的情況(我們的演示將是)。我對網絡不熟悉,TCP/IP與WiFi兼容嗎?教程視頻似乎清楚地區分了兩者... – Jenny