最近接手一个项目,机器会1秒钟返回一次数据,手机端UDP接受数据,在很多测试机上都可以成功接收,无奈客户的出品方是moto,偏偏就moto不能接受还一直抛出异常,在网上查阅资料,都说是阻塞的问题,继续接收就好了,但显然不是这么简单,继续接收还是接收不到数据。关于UDP接受数据报的问题

在百度Android接受UDP数据的时候,觉得应该是手机系统的问题。经过查询,应该是系统禁止了接受广播,以便省电等,

解决方法如下:

WifiManager manager = (WifiManager) this
                .getSystemService(Context.WIFI_SERVICE);
WifiManager.MulticastLock lock= manager.createMulticastLock("UdpRec");

在接受的时候,调用

lock.acquire();

异常还是同样的抛出,但能成功接收到数据报:

可我的代码:

关于UDP接受数据报的问题

终于是解决了这个问题

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-07
  • 2021-07-30
  • 2022-12-23
  • 2022-02-08
  • 2021-06-18
  • 2021-07-03
猜你喜欢
  • 2021-10-20
  • 2022-12-23
  • 2021-05-22
  • 2022-12-23
  • 2021-09-03
  • 2021-05-24
  • 2022-12-23
相关资源
相似解决方案