当前位置: 首页 > 工具软件 > koa-socket-2 > 使用案例 >

koa2中使用socket.io总结

程振濂
2023-12-01

服务端

  1. 在Koa2中安装koa-socket模块
cnpm i -S koa-socket
  1. 在Koa项目中引入koa-socket
 const IO = require( 'koa-socket' )
  1. 实例化const io = new IO()
 const io = new IO()
  1. 调用 io.attach( app )
 io.attach( app )
  1. 配置服务端
app._io.on( 'connection', socket => {
             console.log('建立连接了');
			 let roomid=url.parse(socket.request.url,true).query.roomid;   /*获取房间号/ 获取桌号需要引入url模块*/
			socket.join(roomid);  /*加入房间/加入分组*/
			socket.on('message',function(data){
       		console.log(data);
       		 //socket.emit('serverEmit','我接收到消息了');  /*发给指定用户*/

        	//app._io.emit('serverEmit','我接收到消息了');  /*广播*/

     	    //app._io.to(roomid).emit('serverEmit','我接收到消息了'); 发送给房间内的所有人

       		 socket.broadcast.to(roomid).emit('serverEmit','我接收到消息了');/*发送给除了自己以外房间内的所有人*/

    		})
    })
  //监听用户断开连接
socket.on('disconnect', data=>{


 	});

客户端

  1. 引入socket.io.js
   <script src="/socket.io/socket.io.js"></script>
  1. 和服务器建立长连接
let socket = io.connect(ws://192.168.0.3:3000?roomid=1');
  1. 接收服务器返回的信息
socket.on('serverEmit',function(data){
       console.log(data);
   });
  1. 主动向服务端发送消息
socket.on('serverEmit',function(data){
      socket.emit('message','message');
   });
 类似资料: