我有一个应用程序需要将蓝牙发现过程保持在循环中以始终发现新的蓝牙设备(当BroadcastReceiver获取BluetoothAdapter.ACTION_DISCOVERY_FINISHED时,我再次调用startDiscovery())。我最近添加了一些套接字通信到应用程序,基本上打开一个Socket到服务器,发送数据,然后关闭套接字。
当我使用3G时,一切正常并且嗅探器没有显示TCP重传,套接字是干净地打开和关闭的。但是,使用Wifi会显示大量TCP重传,有时甚至连接套接字失败(使用java.net.SocketException超时)。
我正在使用三星Galaxy S和Android 2.2.1。我有什么东西可以忽略吗?
答案 0 :(得分:2)
您可以尝试配置WiFi并将其移至其他频道吗?如果您在2.4 GHz频段使用WiFi,则在初始发现/连接期间会出现干扰,连接后应该会变得更好,因为蓝牙应跳频以避免干扰(除非WiFi阻塞整个频谱)