微信小程序通过官方内置函数实现WebSocket

news/2024/7/20 2:49:56 标签: 微信小程序, websocket, 小程序

目前小程序>微信小程序做WebSocket并不需要第三方依赖
官方有提供wx.connectSocket方法来实现建立链接的方式
参考代码如下

// 在页面的逻辑代码中调用 wx.connectSocket 连接 WebSocket
wx.connectSocket({
  url: 'wss://example.com/socket',  // WebSocket 服务器的地址
  success: function () {
    console.log('WebSocket 连接成功');
  },
  fail: function () {
    console.log('WebSocket 连接失败');
  }
});

// 监听 WebSocket 连接成功事件
wx.onSocketOpen(function () {
  console.log('WebSocket 连接已打开');
});

// 监听 WebSocket 接收到服务器的消息事件
wx.onSocketMessage(function (res) {
  console.log('收到服务器的消息:', res.data);
});

// 监听 WebSocket 连接关闭事件
wx.onSocketClose(function () {
  console.log('WebSocket 连接已关闭');
});

// 监听 WebSocket 错误事件
wx.onSocketError(function (res) {
  console.log('WebSocket 错误:', res);
});

// 发送消息给服务器
wx.sendSocketMessage({
  data: 'Hello, server!'
});

如果你想一开始就发送数据可以像我这样写

const socket = wx.connectSocket({
  url: 'wss://ws-api.turingapi.com/api/v2',
  header: {
    'content-type': 'application/json',
  },
  success: function() {
    console.log('WebSocket链接成功');
  },
  fail: function() {
    console.log('WebSocket连接失败');
  }
});
socket.onOpen(function() {
  console.log('WebSocket连接已建立');
  
  socket.send({
    data: JSON.stringify(data),
  });
});

socket.onMessage((res) => {
  console.log('收到消息:', res.data);
});

在这里插入图片描述
这样的用法好处在于不需要引入什么依赖


http://www.niftyadmin.cn/n/5051798.html

相关文章

Windows计划任务权限维持

Windows计划任务权限维持 1.概述2.方法 1.概述 Windows操作系统提供了一个实用程序 (schtasks.exe) ,使系统管理员能够在特定的日期和时间执行程序或脚本。这种行为可作为一种持久性机制被red team利用。通过计划任务执行持久性不需要管理员权限,但如果…

Hadoop、Spark、Storm、Flink区别及选择

hadoop、spark、storm、flink如何选择 hadoop和spark是更偏向于对大量离线数据进行批量计算,提高计算速度storm和flink适用于实时在线数据,即针对源源不断产生的数据进行实时处理。至于storm和flink之间的区别在于flink的实时性和吞吐量等要比storm高。…

Fork/Join 框架是干什么的?

Fork/Join框架是Java中用于并行计算的一个重要工具,它旨在简化多线程编程,特别适用于分治任务的并行执行。Fork/Join框架的主要目标是提高多核处理器上任务的并行性,从而加速计算。 Fork/Join框架的核心概念包括以下几个要点: 分治策略:Fork/Join框架基于分治策略,将一个…

oracle 比 mysql 查询快的原因_Oracle 查询速度慢的原因总结

目录 1. oracle 比 mysql 查询快的原因_Oracle 查询速度慢的原因总结 1. oracle 比 mysql 查询快的原因_Oracle 查询速度慢的原因总结 查询速度慢的原因很多, 常见如下几种: 没有索引或者没有用到索引(这是查询慢最常见的问题, 是程序设计的缺陷)I/O 吞吐量小, 形成了瓶颈效应…

爬楼梯Java(斐波那契数列)

题目:有n阶楼梯,一次只能爬一层或者两层,请问有多少种方法? 这类题目其实都可以用斐波那契数列来解决,比如: 一阶楼梯只有一种方法 二阶楼梯有(11,2)两种方法 三阶楼梯有(111,12,21)三种方法 四阶楼梯有(1111,121,112,22,211)五种方式 五阶楼梯有(11111,1112,122,1211,1…

14.TIM输出比较示例程序(PWM驱动LED呼吸灯PWM驱动舵机PWM驱动直流电机)

目录 输出比较相关库函数 PWM驱动LED呼吸灯 PWM驱动舵机 PWM驱动直流电机 输出比较相关库函数 1.OC初始化(掌握) // 配置输出比较模块,输出比较单元有四个,对应也有四个函数 // 第二个参数是结构体,就是输出比较…

数据库基础知识以及MySQL简介

关于MySQL的读法 MySQL如何发音?在国内MySQL发音有很多种,Oracle官方文档说他们念作 My sequal[si:kwəl]。 数据库基本概念 数据 数据(Data)是指对客观事物进行描述并可以鉴别的符号,这些符号是可识别的、抽象的。它…

C++: 模板(进阶)

学习目标 1.了解非类型模板参数 2.了解类模板的特化 3.知道模板分离编译会出现的问题 1.非类型模板参数(整型常量) 模板参数: 1.类型形参:在模板参数列表中,class/typename后的参数名称 2.非类型形参:整型常量 示例: template<class T ,size_t N>class arr{public://....…