当前位置:   article > 正文

uniapp 使用 UDP_uniapp udp

uniapp udp

一、搭建UDP服务端,nodejs

  1. const dgram = require("dgram");
  2. const message = Buffer.from("你好,这是一个UDP广播消息");
  3. const port = 3000; // 用你想要的端口替换这里
  4. // 创建一个UDP套接字
  5. const socket = dgram.createSocket("udp4");
  6. // 启用套接字的广播功能
  7. socket.bind(() => {
  8. socket.setBroadcast(true);
  9. });
  10. // 定义广播地址
  11. const broadcastAddress = "255.255.255.255"; // 用你实际的广播地址替换
  12. // 将消息发送到广播地址
  13. setInterval(() => {
  14. send();
  15. }, 3000);
  16. function send() {
  17. socket.send(message, 0, message.length, port, broadcastAddress, (err) => {
  18. if (err) {
  19. console.error("发送消息时出错:" + err);
  20. } else {
  21. console.log("消息成功发送到 " + broadcastAddress);
  22. }
  23. // 如果需要在发送消息后关闭套接字以释放资源
  24. // socket.close();
  25. });
  26. }

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

node 1.js

二、搭建UDP客户端,uniapp

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

2、 manifest.json 配置 

 3、代码中使用

  1. const udpClient = uni.requireNativePlugin('udp-client');
  2. export default {
  3. data: function() {
  4. return {
  5. socketPort: 3000,
  6. }
  7. },
  8. () {
  9. udpClient.setByteSize(2048);
  10. /**
  11. * 在设备初始化,监听 3000端口。
  12. * 假设本设备 IP 为 192.168.2.35
  13. * 那么服务端,或者其设备,就可以给 192.168.2.35:3000 发送消息了
  14. */
  15. udpClient.init(this.socketPort, this.onSocketMsg, this.onSocketError);
  16. },
  17. methods: {
  18. onSocketMsg(resData) {
  19. // resData 的数据结构:{ host, port, data, hex }
  20. console.log("接收到消息: " + resData);
  21. // 收到消息如果想响应
  22. udpClient.send({
  23. host: resData.host,
  24. port: resData.port,
  25. data: JSON.stringify({code: 1, msg: "我收到消息啦~"}),
  26. useHex: true, // 使用 hexString ,默认为 false
  27. });
  28. },
  29. onSocketError(errMsg) {
  30. console.error("socket 异常:" + errMsg);
  31. },
  32. },
  33. onUnload() {
  34. // 释放 socket,释放端口
  35. udpClient.release();
  36. }
  37. }

完结

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/208114
推荐阅读
相关标签
  

闽ICP备14008679号