zoukankan      html  css  js  c++  java
  • 快速上手微信小程序webSocket

    WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。
    WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

    今天简单讲解下微信小程序的webSocket如何使用:

    微信webSocketAPI直通车

    以下webSocket是本人使用微信小程序api写的一些步骤封装,主要是小程序端的实现,真正实现webSocket项目还要后台人员的给力支持。

    小程序中,可以在onLoad方法开始一个webSoket连接,在onHide时关闭连接。

    var sotk = null;
    var socketOpen = false;
    var wsbasePath = "ws://开发者服务器 wss 接口地址/";
    
    //开始webSocket
      webSocketStart(e){
        sotk = wx.connectSocket({
          url: wsbasePath,
          header: { 'content-type': 'application/x-www-form-urlencoded' },
          method: "POST",
          success: res => {
            console.log('小程序连接成功:', res);
          },
          fail: err => {
            console.log('出现错误啦!!' + err);
            wx.showToast({
              title: '网络异常!',
            })
          }
        })
    
        this.webSokcketMethods();
    
      },
    
    //监听指令
      webSokcketMethods(e){
        let that = this;
        sotk.onOpen(res => {
          socketOpen = true;
          console.log('监听 WebSocket 连接打开事件。', res);
        })
        sotk.onClose(onClose => {
          console.log('监听 WebSocket 连接关闭事件。', onClose)
          socketOpen = false;
        })
        sotk.onError(onError => {
          console.log('监听 WebSocket 错误。错误信息', onError)
          socketOpen = false
        })
    
        sotk.onMessage(onMessage => {
          var data = JSON.parse(onMessage.data);
          console.log('监听WebSocket接受到服务器的消息事件。服务器返回的消息',data);
         
        })
       
      },
    
    //发送消息
      sendSocketMessage(msg) {
        let that = this;
        if (socketOpen){
          console.log('通过 WebSocket 连接发送数据', JSON.stringify(msg))
          sotk.send({
            data: JSON.stringify(msg)
          }, function (res) {
            console.log('已发送', res)
          })
        }
        
      },
     //关闭连接
      closeWebsocket(str){
        if (socketOpen) {
          sotk.close(
            {
              code: "1000",
              reason: str,
              success: function () {
                console.log("成功关闭websocket连接");
              }
            }
          )
        }
      },
  • 相关阅读:
    新概念英语第四册16-30课(转)
    新概念英语第四册01-15课(转)
    通过了解MySpace的六次重构经历,来认识分布式系统到底该如何创建(转载)
    BASE64编码规则及C#实现
    Lucene资料汇总
    SQL Server性能监控
    Fedex接口和测试账户
    css语法
    POI操作Excel常用方法总结 (转)
    java eclipse中的代码联动提示功能
  • 原文地址:https://www.cnblogs.com/nanyang520/p/11200857.html
Copyright © 2011-2022 走看看