天天看点

基于Android热点的局域网UDP广播,部分手机收不到UDP报文的问题

这两天写了个小程序,实现的功能为:一台手机发WIFI热点ap,其他手机接入这一WIFI,在以此组建的局域网内,可以广播消息。为了逻辑的通顺而选择了UDP广播,广播IP选了255.255.255.255

遇到的问题为:其他android手机收不到热点手机的udp广播消息,而热点手机可以收到其他手机以及自己的UDP报文。当关闭了热点手机的数据流量以后,热点手机也不再能够收到自己的UDP报文。

初步分析:接入WIFI的其他手机的广播,在局域网内进行。而作为热点手机的广播,在3G公网中进行。

解决办法:不再使用受限的广播IP 255.255.255.255 而是直接指向热点手机所在的局域网。安卓热点AP的默认IP为192.168.43.1,所以选择广播Ip为192.168.43.255.这样,热点手机就不再朝公网进行广播。其他手机就能够收到热点手机的UDP广播了。