未连接到任何AP的Android手机广播数据包



我正在开发一个Android WiFi应用程序,需要知道是否可以创建一个应用程序,以便在手机尚未连接到任何接入点(AP)时可靠地重复WiFi广播数据包。我知道手机本身就可以做到这一点。例如,当手机启动时,它会发送包含"SSID"名称的数据包,试图连接到存储在其设置中的一个AP。我正在尝试创建代码,通过带有WiFi广播包的智能手机控制一个定制的电子设备。我现在可以通过TCP/IP连接做到这一点,但我真的不需要设备的双向(握手)通信响应。我的设备和智能手机将类似于通过只有单向广播包的智能手机控制机器人。我会发送数据包来移动,或者发送数据包去停止等等。例如,当我看到机器人在转动时,我真的不需要从它那里知道它在转动。想要这样做的另一个原因是,如果安卓系统在继续之前不需要尝试检测或等待设备的握手响应,我相信我可以在恶劣的环境条件下获得更大的WiFi范围。

您是否考虑过将手机设置为特设模式并直接与机器人通话?我还没有测试过这个代码,但它可能会工作:

DatagramSocket socket = new DatagramSocket(8001);
socket.setBroadcast(true);
socket.setReuseAddress(false);
DatagramPacket packet = new DatagramPacket(databytes, 7,
getBroadcastAddress(), 8001);
socket.send(packet);

最新更新