Overriding socket.io's emit and on?

前端 未结 4 586
礼貌的吻别
礼貌的吻别 2020-12-07 19:30

During development, it helps me greatly to be able to see what packets arrive and gets sent. This is possible on the server side with logger. On the client end, however, the

4条回答
  •  粉色の甜心
    2020-12-07 19:51

    Works, tested:

    var _emit = socket.emit;
        _onevent = socket.onevent;
    
        socket.emit = function () { //Override outgoing
            //Do your logic here
            console.log('***', 'emit', arguments);
            _emit.apply(socket, arguments);
        };
    
        socket.onevent = function (packet) { //Override incoming
            var args = packet.data || [];
            //Do your logic here
            console.log('***', 'onevent', packet);
            _onevent.call(socket, packet);
        };
    

提交回复
热议问题