socket.io 是一个基于websocket实现的先后端实时通信框架,也对低版本浏览器作了封装。使用起来简单,方便。javascript
初次使用起来可能会比较迷糊,其实主要经常使用就几个方法,简单介绍一下。java
//客户端 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 //获取全部的频道
欢迎借鉴~web