Flutter通过 Coap发送组播

Flutter发送组播的流程

1.初始化 CoAP 客户端

需要初始化 CoAP 客户端并将其连接到组播地址和端口。您可以使用 CoAP 库提供的类来创建和配置客户端

复制代码
final client = CoapClient(
    Uri.parse('coap://224.0.1.1:5683'), // 组播地址和端口
);

2.创建 CoAP 请求

创建一个 CoAP 请求,设置请求类型(例如 GET、POST、PUT 等)、请求路径以及任何负载或选项

复制代码
CoapRequest request = CoapRequest.newGet();

 // request.addUriPath('/auth/test/$ACCESS_TOKEN/rpc'); // 设置资源路径

request.payloadString = 'Hello, CoAP Multicast!'; // 设置负载

3.发送请求

一旦请求准备就绪,您就可以使用 CoAP 客户端发送请求。发送请求后,等待服务端的响应

复制代码
var responses = client.sendMulticast(request);

4.处理响应

如果收到了响应,您可以从响应中提取数据并对其进行处理,例如显示在用户界面上或执行其他操作。如果未收到响应,您可以处理超时或其他错误情况

复制代码
await for (final response in responses) {

     print(response.payloadString);        

}

5.关闭连接

完成通信后,关闭 CoAP 客户端的连接,释放资源并确保网络资源的正常释放

复制代码
client.close();

6.全部代码

复制代码
TextButton(

     onPressed: () async {

       final client = CoapClient(

         Uri.parse('coap://224.0.1.1:5683'), // 组播地址和端口

       );

       try {

         CoapRequest request = CoapRequest.newGet();

         // 设置请求路径和负载

         // request.addUriPath('/auth/test/$ACCESS_TOKEN/rpc'); // 设置资源路径

         request.payloadString = 'Hello, CoAP Multicast!'; // 设置负载

         var responses = client.sendMulticast(request);

         await for (final response in responses) {

           print(response.payloadString);

         }

       } on Exception catch (e) {

         print('CoAP encountered an exception: $e');

       }



       client.close();

     },

     child: Text("发送组播")

),

测试数据是否发生成功

1.使用SockerTool软件进行测试

解压\\nas.nonagon\01-办公及开发软件\07-硬件开发工具\03-串口 USB CAN 网络 蓝牙调试助手\sockettool.rar,然后打开SocketTool V4.exe

2.创建组播服务

选中UDP Group后点击创建按钮,填写上上面代码中的组播地址和端口

3.测试

手机上发送内容,查看这里能否接收到,能接收到则代表成功

相关推荐
晚烛26 分钟前
CANN + 物理信息神经网络(PINNs):求解偏微分方程的新范式
javascript·人工智能·flutter·html·零售
一起养小猫40 分钟前
Flutter for OpenHarmony 实战:扫雷游戏完整开发指南
flutter·harmonyos
晚烛1 小时前
CANN 赋能智慧医疗:构建合规、高效、可靠的医学影像 AI 推理系统
人工智能·flutter·零售
晚霞的不甘1 小时前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
小哥Mark3 小时前
Flutter开发鸿蒙年味 + 实用实战应用|绿色烟花:电子烟花 + 手持烟花
flutter·华为·harmonyos
一只大侠的侠4 小时前
Flutter开源鸿蒙跨平台训练营 Day 3
flutter·开源·harmonyos
一只大侠的侠6 小时前
【Harmonyos】Flutter开源鸿蒙跨平台训练营 Day 2 鸿蒙跨平台开发环境搭建与工程实践
flutter·开源·harmonyos
微祎_6 小时前
Flutter for OpenHarmony:构建一个 Flutter 平衡球游戏,深入解析动画控制器、实时物理模拟与手势驱动交互
flutter·游戏·交互
ZH15455891318 小时前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现
python·学习·flutter
renke33648 小时前
Flutter for OpenHarmony:构建一个 Flutter 色彩调和师游戏,RGB 空间探索、感知色差计算与视觉认知训练的工程实现
flutter·游戏