当前位置: 首页 > news >正文

uniapp 使用 UDP

一、搭建UDP服务端,nodejs

const dgram = require("dgram");const message = Buffer.from("你好,这是一个UDP广播消息");
const port = 3000; // 用你想要的端口替换这里// 创建一个UDP套接字
const socket = dgram.createSocket("udp4");// 启用套接字的广播功能
socket.bind(() => {socket.setBroadcast(true);
});// 定义广播地址
const broadcastAddress = "255.255.255.255"; // 用你实际的广播地址替换// 将消息发送到广播地址
setInterval(() => {send();
}, 3000);function send() {socket.send(message, 0, message.length, port, broadcastAddress, (err) => {if (err) {console.error("发送消息时出错:" + err);} else {console.log("消息成功发送到 " + broadcastAddress);}// 如果需要在发送消息后关闭套接字以释放资源// socket.close();});
}

运行这个文件就行,命令  node 文件名,如

node 1.js

二、搭建UDP客户端,uniapp

1、安装UDP原生插件,点击    udp_client

2、 manifest.json 配置 

 3、代码中使用

const udpClient = uni.requireNativePlugin('udp-client');
export default {data: function() {return {socketPort: 3000,}},() {udpClient.setByteSize(2048);/*** 在设备初始化,监听 3000端口。* 假设本设备 IP 为 192.168.2.35* 那么服务端,或者其设备,就可以给 192.168.2.35:3000 发送消息了*/udpClient.init(this.socketPort, this.onSocketMsg, this.onSocketError);},methods: {onSocketMsg(resData) {// resData 的数据结构:{ host, port, data, hex }console.log("接收到消息: " + resData);// 收到消息如果想响应udpClient.send({host: resData.host,port: resData.port,data: JSON.stringify({code: 1, msg: "我收到消息啦~"}),useHex: true, // 使用 hexString ,默认为 false});},onSocketError(errMsg) {console.error("socket 异常:" + errMsg);},},onUnload() {// 释放 socket,释放端口udpClient.release();}
}

完结

http://www.lryc.cn/news/213657.html

相关文章:

  • 苹果相机怎么磨皮 苹果手机怎么磨皮
  • spring boot导入导出excel,集成EasyExcel
  • 【错误解决方案】ModuleNotFoundError: No module named ‘zarr‘
  • 什么是集成测试?
  • Linux———— 运算命令
  • 批量去除pdf每一页相同未知的同样的内容
  • HCIA数据通信——静态路由
  • Fourier分析导论——第2章——Fourier级数的基本属性(E.M. Stein R. Shakarchi)
  • redis实现分布式延时队列
  • Spring AOP源码解读
  • JavaScript基础入门01
  • yum 命令
  • Nginx 部署多个安全域名,多个服务【工作记录】
  • 性能测试QPS+TPS+事务基础知识分析
  • PSP - 蛋白质复合物 AlphaFold2 Multimer MSA Pairing 逻辑与优化
  • C++中vec.size()-1的坑
  • Flask Shell 操作 SQLite
  • Mybatis—XML配置文件、动态SQL
  • excel求差公式怎么使用?
  • 高效分割分段视频:提升您的视频剪辑能力
  • 【c++|opencv】二、灰度变换和空间滤波---2.直方图和均衡化
  • 【Windows】线程同步之信号量(Semaphores)
  • 二叉树问题——前中后遍历数组构建二叉树
  • Java保留n位小数的方法(超简洁)
  • JavaEE-博客系统1(数据库和后端的交互)
  • 【unity/vufornia】Duplicate virtual buttons with name.../同一个ImageTarget上多个按钮失灵
  • Apache ActiveMQ 远程代码执行漏洞复现(CNVD-2023-69477)
  • 项目管理-科学管理基础-线性规划介绍及例题
  • 如何利用自定义数据对象(元数据)实现全场景身份数据治理
  • 腾讯云轻量级服务器哪个镜像比较好?