2011-12-24 105 views
1

我被困在黑莓客戶端和java服務器之間創建套接字連接。我需要簡單的示例代碼來擴展黑莓示例代碼中的套接字API示例。黑莓套接字編程

我們有一個與android系統通信的服務器,我們也需要它與黑莓客戶端一起工作。

+0

我提到了balckberry的幫助,但我無法理解和使用這個示例來實現它:http://docs.blackberry.com/en/developers/deliverables/7693/Use_a_socket_connection_508960_11.jsp – 2011-12-24 10:46:27

+0

我無法理解下面的碼? getHostFieldText做什麼等等:String url =「socket://」+ _screen.getHostFieldText()+「:6667」+(_screen.isDirectTCP()?「; deviceside = true」:「」); connection =(StreamConnection)Connector.open(url); – 2011-12-24 10:49:22

+0

_screen.getHostFieldText()的值將是一個IP地址或服務器地址,將其替換爲所需的服務器地址。 6667是服務器的端口號(將其替換爲服務器的端口號)。並且要通過直接TCP打開套接字連接,請將deviceside = true參數附加到URL的末尾。但是,如果您使用BlackBerry MDS Services,請附加deviceside = false。 – Rupak 2011-12-24 14:38:13

回答

1

對不起,遲到了。我在這裏發表我的評論是因爲評論的長度。 _screen.isDirectTCP()不是一個API方法,所以我不確定這個方法返回什麼。但是從方法名稱/簽名中,我認爲這種方法僅用於檢查設備上的直接TCP連接是否可用。根據結果​​,應用程序將追加連接參數,如「; deviceside = ....」。

Network Transport文章,

如果你不想讓你的應用程序依賴於默認連接在前面的章節中描述 類型,通過添加明確陳述 所需的連接類型「裝置側=」參數到 目標網址。如果應用程序在 目標URL中追加「; deviceside = true」,則只嘗試直接HTTP或TCP連接 。該應用程序不會嘗試使用BlackBerry MDS連接到網絡 。或者,如果應用程序將 「; deviceside = false」附加到目標URL,則應用程序僅 會嘗試使用BlackBerry MDS連接到網絡。 應用程序不會嘗試使用公共IP網關連接到網絡。

也請看看這個鏈接,What Is - Different ways to make an HTTP or socket connection

+0

感謝您的回答,它幫助我們創建了一個套接字。但是,當我在Android和BlackBerry之間創建套接字時,它會打擾Android Client和Server之間已經創建的套接字。任何在這方面的幫助將不勝感激。 – 2011-12-26 13:30:41