Отмена emit и включения socket.io?
Вопрос
В процессе разработки мне очень помогает видеть, какие пакеты приходят и отправляются.Это возможно на стороне сервера с регистратором.Однако на стороне клиента регистратора нет.Я засыпаю console.log повсюду.
Можно ли переопределить socket.emit и socket.on с помощью console.log (arguments)?Если бы я мог переопределить это до моего сокета, это было бы действительно элегантно.
Кто-то посоветовал мне вместо этого переопределить парсер.
Сколько у вас 2 цента по этому поводу?
< sizesEDIT
Я попробовал предложение Като и написал следующее:
родовое словоЭто работает.Однако не так много с socket.on.Моя стратегия - заключать каждый обратный вызов в console.log.Если вы знакомы с python, это все равно что помещать декораторы функций в обратные вызовы, которые console.log аргументы.
родовое словоКто-нибудь может указать, почему обезьяна исправляет socket.on не работает?
Решение
Чтобы переопределить socket.on , вам действительно нужно переопределить socket. $ emit .
Следующий пример работает как на стороне клиента, так и на стороне сервера (протестирован на socket.io 0.9.0):
родовое словоДругие советы
Работает, проверено:
родовое словоСуществует модуль под названием socket.io-wildcard , который позволяет использовать подстановочные знаки на клиенте и сервере.сторона, больше не нужно ничего перезаписывать
родовое слово