服务端
- 在Koa2中安装koa-socket模块
cnpm i -S koa-socket
- 在Koa项目中引入koa-socket
const IO = require( 'koa-socket' )
- 实例化const io = new IO()
const io = new IO()
- 调用 io.attach( app )
io.attach( app )
- 配置服务端
app._io.on( 'connection', socket => {
console.log('建立连接了');
let roomid=url.parse(socket.request.url,true).query.roomid;
socket.join(roomid);
socket.on('message',function(data){
console.log(data);
socket.broadcast.to(roomid).emit('serverEmit','我接收到消息了');
})
})
socket.on('disconnect', data=>{
});
客户端
- 引入socket.io.js
<script src="/socket.io/socket.io.js"></script>
- 和服务器建立长连接
let socket = io.connect(ws://192.168.0.3:3000?roomid=1');
- 接收服务器返回的信息
socket.on('serverEmit',function(data){
console.log(data);
});
- 主动向服务端发送消息
socket.on('serverEmit',function(data){
socket.emit('message','message');
});