实例详解微信小程序如何使用Socket

互联网 18-5-29
本文主要和大家介绍微信小程序使用Socket的实例的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下,希望能帮助到大家。

微信小程序使用Socket的实例

首先,一个小程序同时只能有一个WebSocket连接,如果当前已经存在一个WebSocket连接,会关闭当前连接,并重新建立一个连接。

其次,如果使用了appID,协议必须是 wss://...

最近团队用小程序做行情,在连接socket的时候,发现在还没有进行subscribe的情况下,就直接进行了广播,并且自动关闭了socket连接,

时间紧迫,抓耳挠腮,遂引用了socket-io(基于小程序的websocket仿写的socket-io,并非官方的socket-io,传送门),使用方法:

1、先在utils文件夹粘贴一个io的js

2、然后 npm install wxapp-socket-io

3、config文件夹下新建一个socket.js,对socket连接进行封装,如下:

const io = require('../utils/io.js')  let url = 'wss://......'  let wsStatus = false  let onSocket = null  export const connect = function(cb){    if(!onSocket){      onSocket = io(url)      onSocket.on('connect', function (res) {        cb(true,onSocket)        wsStatus = true      })      setTimeout(function(){        if(!wsStatus){          cb(false,onSocket)        }      },10000)    }else{      cb(true,onSocket)    }  }

4、在要引用的页面调用,全局封装订阅方法

let openSocket = require('../../config/socket')  let app = getApp()  let socket = null  Page({  data: {    zl: [[422, 400, 468, 834, 785, 446, 845, 517, 630, 797, 890, 529, 553, 425, 469, 470, 837, 841, 521, 525], [422, 400, 468, 834, 785, 446, 845, 517, 630, 797, 890, 529, 553, 425, 469, 470, 837, 841, 521, 525]]  },  onLoad: function () {    let that = this;    //socket调用    openSocket.connect(function (status, ws) {      if (status) {        socket = ws        this.subscribe('zl')//对封装好对订阅方法进行调用        socket.on('broadcast', function (msg) {//广播          console.log("broadcast");          console.log(msg);        })      } else {        alert("socket 连接失败")      }    });  },  subscribe: function (type) {    if (socket) {      let eis = this.data[type]      if (eis && eis.length > 0) {        let param = {//仅供参考,根据接口自行更改          eis: eis.join(',')        }        socket.emit('subscribe', JSON.stringify(param));      }    }  }  });

相关推荐:

HTML5 WebSocket点对点聊天实现方法

node.js 用socket实现聊天实例分享

详解php实现socket推送技术

以上就是实例详解微信小程序如何使用Socket的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 如何
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:微信小程序input表单与redio及下拉列表实例详解

相关资讯