关于微信小程序WebSocket的使用

  • 一、连接wx.connectSocket
  • 二、wx.onSocketOpen和wx.onSocketError
  • 三、wx.onSocketMessage
  • 四、wx.sendSocketMessage
  • 五、wx.closeSocket
  • 六、wx.onSocketClose

一、连接wx.connectSocket

示例:

wx.connectSocket({url: 'xxx.com',data:{x: '',y: ''},header:{ 'content-type': 'application/json'},method:"GET"
})

这里要注意url中的接口不是http://.xxx或者https://.xxx开头的,而是以ws://xxx.com或者wss://.xxx开头的,要不然就会连接失败

二、wx.onSocketOpen和wx.onSocketError

他们是监听监听wx.connectSocket的连接成功与否的

代码如下(示例):

     //连接成功wx.onSocketOpen((res) => {console.log('WebSocket 成功连接', res)})//连接失败wx.onSocketError((err) => {console.log('websocket连接失败', err);})

三、wx.onSocketMessage

这里是接收服务器的消息的(也就是聊天时对面发来的消息)
代码如下(示例):

//连接WebSocket
wx.connectSocket({url: 'xxx.com',data:{x: '',y: ''},header:{ 'content-type': 'application/json'},method:"GET"})wx.onSocketOpen((res) => {console.log('WebSocket 成功连接', res)wx.onSocketMessage(function(res) {console.log('收到服务器内容:', res)//不需要考虑如何触发,当服务器发送消息时自动接收})})

四、wx.sendSocketMessage

//这是发送消息的事件sendSocketMessage() {let msg={msg:this.data.inputVal,//这是聊天的内容toUser:this.data.user1.id//这是聊天的id}wx.sendSocketMessage({data: JSON.stringify(msg),//这里根据后台的格式发送数据,好像这个需要转换成字符串。success:(res)=>{console.log("消息发送成功", res)},fail(res) {console.log("消息发送失败", res)}})
},

五、wx.closeSocket

关闭WebSocket连接。

六、wx.onSocketClose

监听WebSocket关闭。

wx.connectSocket({url: 'test.php'
})//注意这里有时序问题,
//如果 wx.connectSocket 还没回调 wx.onSocketOpen,而先调用 wx.closeSocket,那么就做不到关闭 WebSocket 的目的。
//必须在 WebSocket 打开期间调用 wx.closeSocket 才能关闭。
wx.onSocketOpen(function() {wx.closeSocket()
})wx.onSocketClose(function(res) {console.log('WebSocket 已关闭!')
})

})

微信小程序WebSocket接口以及在小程序中的使用。相关推荐

  1. Delphi调用微信原生Web开发接口JS-SDK开发小程序及微信支付等的Rest API

    目录 Delphi调用微信原生Web开发接口JS-SDK开发小程序及微信支付等的Rest API 一.概述及API 1.JS-SDK是对之前的 WeixinJSBridge 的一个包装 2.JS-SD ...

  2. 应用程序编程接口大全_应用程序编程接口101

    应用程序编程接口大全 Do apps like Uber, Pokémon Go and Zomato build their own maps to show where available car ...

  3. java版微信调小i机器人接口说明书_小i机器人微信公众平台调用api

    /** * *作者:Kaedeen *来源:http://www.kaedeen.com/ *日期:2013.1.7 *修改:2013.1.15 14号被封掉,错误是403,特此修改 * **/ // ...

  4. 微信公众平台消息接口开发(3)中英翻译

    微信公众平台开发模式 微信 平台 消息 接口 英语翻译 互译   作者:http://www.cnblogs.com/txw1958/ 标题http://www.cnblogs.com/txw1958 ...

  5. vue 微信公众号支付接口_总结vue项目中使用微信公众号支付的方法

    本篇文章给大家带来的内容是总结vue项目中使用微信公众号支付的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 微信公众号支付 1. 使用jssdk调用微信支付,具体查看开发文档 ...

  6. 微信小程序WebSocket相关问题说明

    看本帖的前提是:你的WebSocket在小程序之外是正常可用的:因为WebSocket不是小程序独有的,所有大部分问题在网上是可以找到说明的,本帖只是聚合了一些小程序中使用WebSocket中遇到的问 ...

  7. android 仿苹果 小组件,安卓玩烂的小组件 iOS怎么又给捡起来了?

    在所有用户的认知中,新系统区别于旧系统的第一印象永远是外观上的变化,例如iOS7的扁平化设计.iOS 10的控制中心.iOS 13的深色模式. 而在即将推出的iOS 14中,最直观的变化莫过于重新设计 ...

  8. 微信小程序 WebSocket 通信 —— 在线聊天

    在Node栏目就讲到了Socket通信的内容,使用Node实现Socke通信,还使用两个流行的WebSocket 库,ws 和 socket.io,在小程序中的WebSocket接口和HTML5的We ...

  9. 微信小程序websocket实现即时聊天

    今天给大家分享一下本人做小程序使用websocket的一点小经验,希望对大家有所帮助. 使用之前肯定首先要了解一下websocket是什么,简单来讲websocket就是客户端与服务器之间专门建立的一 ...

最新文章

  1. windows 8 突然不能上网 LSP 二种修复方法
  2. 阶乘的计算java_java中四种阶乘的计算
  3. cmake 安装mysql5.6_CMAKE安装MYSQL 5.6.10
  4. mvc4 html.beginform,MVC4 Html.BeginForm在Internet Explorer中提交按钮 9不工
  5. mysql使用的索引长度_MySQL索引的索引长度问题
  6. python竖着输出编码_在Python中使用管道标准输出时设置正确的编码
  7. 养兔子Fibo函数优化
  8. 计算机网络(第六版)
  9. 2021 年职业院校技能大赛“网络安全”项目 江西省比赛任务书
  10. 高一的我曾对自己说要放慢脚步去生活!?
  11. 三星android文件传输,最好的三星Galaxy S8管理器:如何将文件传输到三星Galaxy S8...
  12. AM335x Linux调试1--MLO中打印寄存器值
  13. python绘制红色五角星_python绘制五角星
  14. qr-rls算法matlab实现,【预测模型】基于RLS算法进行预测matlab源码
  15. Kudu 原理、API使用、代码
  16. 铸造工艺问题6——砂型涂料多厚,刷几次?芯头斜度?新旧砂的作用树脂、固化剂的作用
  17. 第十一届蓝桥杯大赛软件类省赛第一场真题-Java语言B组
  18. 透过Bigbang《花路》销量战绩看QQ音乐的压倒性优势
  19. 计算机游戏制作零基础教程,一个人、零基础,一天内学会独立开发出电脑和手机游戏?视频教学...
  20. mysql 字符集 性能_MySQL字符集不一致导致性能下降25%,你敢信?

热门文章

  1. linux命令cd回退_GitHub - gmpy/cdirs: cdirs 用于在linux中快速切换目录,对庞大的项目工程效果显著.其基于标签且无缝取代cd命令,学习成本非常低...
  2. 人生应该要有梦想,万一见鬼了呢?!
  3. python大数据课程培训大纲
  4. Javascript 经纬度正则表达式
  5. shell cheat sheet (备忘录)
  6. springboot集成Elasticsearch实现各种搜索功能
  7. win11鼠标双击变成重命名解决方法
  8. python转js解释器_python 代码转换 js
  9. 小程序 UnionID详解和使用场景
  10. python制作图片数据集 h5py_基于h5py的使用及数据封装代码