2012-01-02 170 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';