2011-03-14 51 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阻塞了完整频谱)