2012-01-02 213 views
18

请问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。

回答

7

你可以很容易地看到它的WebKit浏览器的Web检查(铬,野生动物园,铬) 为此

  • 页面
  • 去点击鼠标右键,检查元素
  • 点击网络选项卡
  • 重新加载打开网络选项卡的页面。
  • 您可以通过http获取请求查看所有资源并获取其响应。
  • 找到socket.io服务器的第一个请求。
  • 这将返回可用消息传输的列表。
  • Socket.io客户端将选择第一个可用的传输。 (如果您的浏览器支持Websockets)
  • 现在在第二个请求中,您将看到在“帧”选项卡中返回的所有响应。

Reference image for web inspector

2

由于Socket.io的1.0版本,你可以设置你的localStorage以 “*”, “调试” 属性。然后你会得到所有的客户端日志。你甚至可以过滤,因为它使用https://github.com/visionmedia/debug。据均能记录在这里:http://socket.io/docs/logging-and-debugging/

+2

文档不是那么好。如果你只想看到来自套接字的新数据,那么将debug标志设置为“socket.io-client:socket”。我希望这可以帮助作为过滤器的例子(在文档中没有提到的例子)。 – 2016-01-20 22:35:46

14

粘贴此安慰,点击进入,并刷新页面:

localStorage.debug = '*'; 

要获得输入数据从插座仅调试信息,粘贴此相反:

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