socket.io不为人知的功能

介绍

socket.io 是一个基于websocket实现的前后端实时通讯框架,也对低版本浏览器做了封装。使用起来简单,方便。

初次使用起来可能会比较迷糊,其实主要常用就几个方法,简单介绍一下。

客户端

io.connect(url) //客户端连接上服务器端
socket.on('eventName', msg => {}) //客户端监听服务器端事件
socket.emit('eventName', msg) //客户端向服务器端发送数据
socket.disconnect()    //客户端断开链接

服务端

socket.on('eventName', msg => {}) //服务器端监听客户端emit的事件,事件名称可以和客户端是重复的,但是并没有任何关联。socket.io内置了一些事件比如connection,disconnect,exit事件,业务中错误处理需要用到。
socket.emit('eventName', msg) //服务端各自的socket向各自的客户端发送数据
socket.broadcast('eventName', msg) //服务端向其他客户端发送消息,不包括自己的客户端
socket.join(channel) //创建一个频道(非常有用,尤其做分频道的时候,比如斗地主这种实时棋牌游戏)
io.sockets.in(channel) //加入一个频道
socket.broadcast.to(channel).emit('eventName', msg) //向一个频道发送消息,不包括自己
io.sockets.adapter.rooms //获取所有的频道

常用的就这些吧

    原文作者:frontoldman
    原文地址: https://segmentfault.com/a/1190000009208461
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞