Flutter无法接收UDP数据包问题排查求助
问题:Flutter UDP无法接收摄像头视频流数据包
我有一台摄像头,计划通过UDP数据包向Flutter应用传输实时视频流(已通过Wireshark确认数据包已发出),但应用始终无法接收这些数据包。每次启动新的流传输时,源端口号似乎会随机变化,因此我将绑定端口设为0,但仅能收到WRITE事件。
我的实现代码如下:
Future<void> _getUdpData() async { try { final datagramSocket = await RawDatagramSocket.bind(InternetAddress.anyIPv4, 0); datagramSocket.broadcastEnabled = true; datagramSocket.readEventsEnabled = true; print('Datagram socket ready to receive'); print('${datagramSocket.address.address}:${datagramSocket.port}'); datagramSocket.listen((RawSocketEvent event) { print('Socket event: $event'); if (event == RawSocketEvent.read) { _handleReadEvent(datagramSocket); } }); } catch (event) { print('Error retrieving data: $event'); } } void _handleReadEvent(RawDatagramSocket datagramSocket) { Datagram? dg = datagramSocket.receive(); if (dg != null) { String message = String.fromCharCodes(dg.data).trim(); print('Datagram from ${dg.address.address}:${dg.port}: $message'); } else { print('No datagram received.'); } }
我查阅了相关文档,发现文档中的实现方案与我的代码结构一致,但问题仍未解决,这让我十分困惑。Wireshark已确认数据包正常发出。
内容的提问来源于stack exchange,提问作者NoobAmI
相关产品推荐
相关产品推荐

