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.mzph.cn/news/126385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL分布式架构设计与实现

随着互联网的快速发展,数据量呈现爆炸式增长的趋势。传统的单机数据库已经无法满足大规模数据处理的需求,因此分布式数据库成为了一种重要的解决方案。本文将介绍MySQL分布式架构的设计与实现,包括数据分片、负载均衡和故障恢复等方面的内容&…

分布式ID系统设计(2)

接上文 https://editor.csdn.net/md/?articleId=133988963 类snowFlake 方案 应用举例 mongoDB ObjectID 就是一个典型的实现。数据库生成 以MySQL举例 利用给字段设置AUTO-INCREMENT来保证ID自增,每次业务使用SQL拿到MySQL的ID 这种方案的优缺点: 优点 1 简单。利用数据库实…

【设计模式】第22节:行为型模式之“状态模式”

一、简介 状态模式一般用来实现状态机,而状态机常用在游戏、工作流引擎等系统开发中。不过,状态机的实现方式有多种,除了状态模式,比较常用的还有分支逻辑法和查表法。该模式允许对象内部状态改变使改变它的行为。 二、适用场景…

Linux RPM包离线安装mysql数据库

MySQL 推荐使用 RPM 包进行 Linux 平台下的安装,因为 RPM 包的安装和卸载都很方便,通过简单的命令就可以实现。本节主要介绍 Linux 下如何使用 RPM 包安装和配置 MySQL。本节的安装环境为 CentOS 6.5,选用 el6 的安装包。读者应根据自己的系统…

系列四十五、Spring的事务传播行为案例演示(五)#MANDATORY

一、演示Spring的传播行为(MANDATORY) 1.1、StockServiceImplMANDATORY /*** Author : 一叶浮萍归大海* Date: 2023/10/30 15:43* Description: 演示MANDAORY的传播行为* 外部不存在事务:抛出异常 No existing transaction found for…

day47

今日内容详细 overflow溢出属性 visible 默认值,内容不会被修剪,会呈现在元素框之外 hidden 内容会被修剪,并且其余内容是不可见的 scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余内容 auto 如果内容被修剪&#xff0c…

C#在类中申明成员数组变量的格式

在C#中,在类中申明成员数组变量的格式如下: 访问修饰符 数据类型[] 变量名; 其中: 访问修饰符表示该成员变量的访问权限,可以是public、private、protected、internal等修饰符之一;数据类型表示数组元素的类型&…

用Python实现批量下载文件——代理ip排除万难

目录 前言 一、准备工作 二、批量下载文件 三、添加代理ip 四、处理异常 完整代码 总结 前言 下载文件是我们在日常工作中常常要做的一件事情。当我们需要从互联网上批量下载大量文件时,手动一个一个去下载显然不够高效。为了解决这个问题,我们可…

【Amazon】AWS实战 | 快速发布安全传输的静态页面

文章目录 一、实验架构图二、实验涉及的AWS服务三、实验操作步骤1. 创建S3存储桶,存放网站网页2. 使用ACM建立域名证书3. 设置Cloudfront,连接S3存储桶✴️4. 设置Route53,解析域名服务5. 通过CLI工具上传网页更新内容【可选】 四、实验总结 …

ReentrantLock(可重入锁)

ReentrantLock了解吗?是公平锁吗? ReentrantLock(可重入锁) 实现了Lock接口,是一个可重入且独占式的锁,和synchronized关键字类似,不过ReentrantLock更灵活、强大,增加了轮询、超时、中断、公平锁和非公平锁等高级功能…

【原创】java+swing+mysql无偿献血管理系统设计与实现

摘要: 无偿献血管理系统是为了实现无偿献血规范化、有序化、高效化的管理而设计的。本文主要介绍使用java语言开发一个基于C/S架构的无偿献血管理系统,提高无偿献血管理的工作效率。 功能分析: 系统主要提供给管理员、无偿献血人员&#x…

免费小程序商城搭建之b2b2c o2o 多商家入驻商城 直播带货商城 电子商务b2b2c o2o 多商家入驻商城 直播带货商城 电子商务

1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

C语言--输出格式控制(printf函数)--宽度精度控制

格式输出函数printf printf(格式控制,输出表列) 基本用法 格式字符功能例子d输出一个有符号的十进制整数printf("%d %d",12,-56);c输出一个字符 char ch a; printf("%c",ch); s输出一个字符串printf("%s","oh my god&…

vins fusion 学习(更新中)

vins fusion 学习(更新中) RVIZ图像: 绿色的是里程计路径 图像中红色的是特征点 红色框是相机 白色的小点是图像中的特征点对应到空间中的特征点 使用rosrun rqt_graph rqt_graph得到节点订阅图 可以看到rosbag发布了以下数据 imu&#xff…

MySQL多线程并发控制技巧分享

在高并发的应用场景下,数据库的性能瓶颈往往出现在并发读写上。为了提高数据库的并发性能,我们需要对MySQL的多线程进行有效的并发控制。本文将分享一些MySQL多线程并发控制的技巧,帮助大家更好地理解和优化MySQL的并发性能。 调整线程缓存大…

打字练习软件 Type Fu mac中文版技能介绍

Type Fu mac是一款打字练习和提高打字速度的应用程序。它旨在帮助用户通过练习键盘打字,提高打字准确性和速度。无论您是初学者还是想要提高打字技能的专业人士,Type Fu都是一个很好的选择! Type Fu mac采用了一种互动,游戏化的方…

python分类指标评测

import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn.metrics import roc_curve, auc, confusion_matrix, \precision_recall_curve, average_precision_score from sklearn.metrics import roc_auc_score # 生成假数据 y_true [0, 1, 0,…

kotlin实现单例模式

kotlin实现单例模式,大体分为两种方式,一种饿汉式单例模式,一种懒汉式单例模式。 1.饿汉式单例模式 在类前面加上object关键字,就实现了饿汉式单例模式: object singletonDemo { }在kotlin中,使用这种方式…

Qt之基于QCustomPlot绘制直方图(Histogram),叠加正态分布曲线

一.效果 二.原理 1.正态分布 高斯分布(Gaussian distribution),又名正态分布(Normal distribution),也称"常态分布",也就是说,在正常的状态下,一般的事物,都会符合这样的分布规律。 比如人的身高为一个随机变量,特别高的人比较少,特别矮的也很少,大部分都…

服务器遭受攻击如何处理(记录排查)

本文的重点是介绍如何鉴别安全事件以及保护现场的方法,以确保服务器负责人能够在第一时间对安全攻击做出反应,并在最短时间内抵御攻击或减少攻击所带来的影响。 在服务器遭遇疑似安全事件时,通常可以从账号、进程、网络和日志四个主要方面进…