2011-02-09 65 views
0

我可以通過藍牙將Nexus One Android Phone成功連接到另一個藍牙Android手機。我可以使用輸入和輸出流進行連接並寫入我的請求並閱讀他們的響應。我的應用程序使用實時數據進行處理。我想知道有沒有辦法在不同的套接字上打開兩個輸入/輸出流(有點像專用套接字)來進行通信?如果是的話我怎麼能做到這一點?任何指針都會有幫助...Android - 爲一個連接打開多個套接字(輸入和輸出流)

mmSocket.connect();

公共無效連接() 自:API級別5 嘗試連接到遠程設備。

該方法將阻塞,直到建立連接或連接失敗。如果此方法沒有異常返回,則此套接字現在已連接。

在設備發現過程中,不應嘗試建立到遠程藍牙設備的新連接。設備發現是藍牙適配器上的一個重量級過程,會顯着降低設備連接速度。使用cancelDiscovery()取消正在進行的發現。發現不是由Activity管理的,而是作爲系統服務運行的,因此即使應用程序沒有直接請求發現,也應該始終調用cancelDiscovery(),以確保。

現在我的問題是:如何能連接使用兩個插座......因爲上面的函數使用套接字連接...和連接後,通過斷開另一個套接字任何其他企圖????

回答

2

這當然是可能的,但我猜你使用阻塞的套接字調用,因此你需要一個以上的線程做無用功的實時性。這也意味着如果要進行通信,則需要線程之間進行一點同步。

傻冒問題是坦言有點模糊,所以我不認爲你會得到什麼好的答案,除非你有資格這一點:你到底想做什麼?爲什麼你需要多個插座?第二個插座是什麼?

+0

我希望我的第一個輸入/輸出流頻繁輪詢,而我的第二個輸入/輸出流將發送隨機非頻繁命令到藍牙設備 – 2011-02-09 12:24:48