2011-03-14 52 views
2

我有一個應用程序需要保持藍牙發現過程在一個循環中,以便始終發現新的藍牙設備(當BroadcastReceiver獲得BluetoothAdapter.ACTION_DISCOVERY_FINISHED時,我只需再次調用startDiscovery())。我最近添加了一些套接字通信到應用程序,基本上打開一個Socket到服務器,發送數據,然後關閉套接字。Wifi和藍牙發現問題

當我使用3G時,一切正常,嗅探器顯示沒有TCP重傳,套接字完全打開並關閉。但是,使用Wifi會顯示大量TCP重新傳輸,有時甚至連接套接字失敗(使用java.net.SocketException超時)。

我使用Android 2.2.1的三星Galaxy S。有我忽略的東西嗎?

+0

請澄清您使用藍牙或WiFi或3G與該插座進行通信? – garzanti 2011-03-15 04:10:10

+0

嗨,我有同樣的問題。我有一個線程正在不斷髮現設備,當我嘗試使http POST超時時。 – Enrique 2011-05-27 20:01:54

回答

2

你可以嘗試配置和移動WiFi到不同的頻道嗎?如果您還在2.4 GHz頻段使用WiFi,則特別期望在初始發現/連接期間產生干擾,連接後應該變得更好,因爲藍牙應跳頻以避免干擾(除非WiFi阻塞了完整頻譜)