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.测试
手机上发送内容,查看这里能否接收到,能接收到则代表成功