koa2中使用socket.io总结

服务端

  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');
   });
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值