Socket.io客户端调试?

时间:2012-01-02 09:30:14

标签: socket.io

socket.io是否具有客户端调试模式,您可以从字面上看到服务器发送给您的所有内容?

现在,您可以使用以下代码实现相同的效果:

socket.on('HELLO', function(arg1, arg2) { console.log('HELLO', arg1, arg2) ... 
socket.on('WORLD', function(arg1) { console.log('WORLD', arg1) ... 

如果我可以轻松地完成此操作而不在任何地方放置console.log,那将非常方便。

6 个答案:

答案 0 :(得分:18)

将其粘贴到控制台,点击进入并刷新页面:

localStorage.debug = '*';

要从套接字获取传入数据的调试信息,请改为粘贴:

localStorage.debug = 'socket.io-client:socket';

答案 1 :(得分:7)

您可以在webkit浏览器的Web检查器中轻松查看(chrome,safari,chromium) 要做到这一点

  • 右键单击页面
  • 转到Inspect元素
  • 单击网络选项卡
  • 在网络标签页打开的情况下重新加载页面。
  • 您可以通过http get请求及其响应加载来查看所有资源。
  • 找到对socket.io服务器的第一个请求。
  • 这将返回可用邮件传输列表。
  • Socket.io客户端将获取第一个可用的传输。 (如果浏览器支持,则为Websockets)
  • 现在,在第二个请求中,您将看到所有回复都在“框架”标签中显示。

Reference image for web inspector

答案 2 :(得分:2)

从Socket.io 1.0版开始,您可以将localStorage中的“debug”属性设置为“*”。然后,您将获得所有客户端日志。你甚至可以过滤,因为它使用了https://github.com/visionmedia/debug。这里有很好的记录:http://socket.io/docs/logging-and-debugging/

答案 3 :(得分:0)

如果没有像你所描述的那样手动记录它们,目前似乎不可能。

我已在Socket.io-client — GitHub中发布了有关此问题的问题。 (https://github.com/LearnBoost/socket.io-client/issues/460)。

答案 4 :(得分:0)

如果在命令提示符下,请输入以下2条命令:

set DEBUG=* node yoursocketioprogram.js

现在,您将在socket.io-client内部的debug()中看到所有消息

答案 5 :(得分:0)

如果您使用 Nodejs,请将此代码放在脚本顶部:

process.env.DEBUG="*"

const io = require('socket.io-client')

...

操作系统的终端“设置”并不总是有效。