Flutter通过 Coap发送组播

embedded/2024/11/23 4:11:07/

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.测试

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

 


http://www.ppmy.cn/embedded/139780.html

相关文章

box-sizing

title: box-sizing date: 2024-11-20 18:13:42 tags: css 前端搭建项目经典开局——调制box-sizing的相关内容 box-sizing: border-box; 是CSS(层叠样式表)中的一个属性,用于改变元素的盒模型(box model)的计算方式。…

每天五分钟深度学习pytorch:批归一化全连接网络完成手写字体识别

本文重点 前面我们学习了普通的全连接神经网络,后面我们学习了带有激活层的全连接神经网络,本文我们继续进一步升级,我们学习带有批归一化的全连接神经网络,批归一化可以加快神经网络的训练速度,减少过拟合,具体它的原理,大家可以看我们的《每天五分钟深度学习》专栏,…

数据跨网传输无忧:FileLink打造内外网文件传输的安全桥梁

在企业数字化办公过程中,内外网文件传输始终是一个绕不开的话题。如何实现高效、便捷、又安全的文件跨网传输,是许多企业在信息化管理中面临的难题。今天,备受企业青睐的文件传输解决方案 FileLink 为您带来一种全新的跨网文件传输体验&#…

推荐文章:FLUI Framework——打造流畅的微软界面体验

推荐文章:FLUI Framework——打造流畅的微软界面体验 FluiFrameworkBringing standardization to Fluent Design by providing easy-to-use styles and controls项目地址:https://gitcode.com/gh_mirrors/fl/FluiFramework 在追求极致用户体验的今天,开…

【Element Ui】el-checkbox 的 indeterminate 与 v-model 表示 “全选”、“待选”、“不选” 状态

官网链接: https://element-plus.org/zh-CN/component/checkbox.html indeterminate 与 v-model indeterminate 属性用以表示 checkbox 的不确定状态,一般用于实现全选的效果。v-model 是绑定值indeterminate 与 v-model 对应不同值的组合可以改变 che…

Hive调优

hive官方配置url: Configuration Properties - Apache Hive - Apache Software Foundation hive命令和参数配置 hive参数配置的意义: 开发Hive应用/调优时,不可避免地需要设定Hive的参数。设定Hive的参数可以调优HQL代码的执行效率,或帮助定位问题。然…

Spring Boot实现WebSocket详解

文章目录 Spring Boot实现WebSocket详解一、引言二、Spring Boot集成WebSocket1、添加依赖2、配置WebSocket3、创建消息模型4、创建消息处理器5、前端实现 三、实现实时消息传递和群发消息1、实时消息传递2、群发消息 四、总结 Spring Boot实现WebSocket详解 一、引言 在现代…

git 两个本地仓库合并

如果 A 仓库和 B 仓库都在本地,并且希望将 B 仓库的某些 commit 合并到 A 仓库(而不是提交到远程仓库),可以使用以下步骤来完成这项操作。 假设: A 仓库的路径是 /path/to/repoA。B 仓库的路径是 /path/to/repoB。希…