socket.io不为人知的功能

2019-09-02 17:35:26 浏览数 (1)

介绍

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

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

客户端

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

服务端

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

常用的就这些吧

0 人点赞