我正在開發一個項目,該項目涉及一個java客戶端通過websockets與基於socket.io的服務器進行交互。爲了測試從websockets到xhr-polling的回退,我需要在我的Windows主機上模擬一個websocket阻塞。在窗口上禁用websockets
這怎麼辦?
我正在開發一個項目,該項目涉及一個java客戶端通過websockets與基於socket.io的服務器進行交互。爲了測試從websockets到xhr-polling的回退,我需要在我的Windows主機上模擬一個websocket阻塞。在窗口上禁用websockets
這怎麼辦?
由於它始終是您的服務器,並且您知道您的服務器始終支持Web套接字,所以您永遠不需要擔心客戶端支持Web套接字但您的服務器不支持的情況。所以,你需要測試的是客戶端不支持Web套接字的情況。
您應該可以通過臨時更改一行來在客戶端JavaScript中創建您的webSocket來限制socket.io只能使用輪詢方法的傳輸。
看到這個問題,它是其他建議的答案:How can i temporarily disable websocket in Google Chrome?。
在Windows防火牆中禁用websocket並不是微不足道的。在瀏覽器中禁用此協議不是一種方法 - 如果您想測試當websocket支持瀏覽器但是受到防火牆,防病毒,域策略規則阻止時的後備...
我已經通過運行nodejs服務器與grunt連接代理。默認情況下,它會阻止WS://協議,但是你可以很容易使用啓用
option.ws =真
聽起來像東西,你可以在你的防火牆設置 – yhussain 2015-01-31 22:20:28
@yhussain設置 - 種很難因爲webSocket請求是作爲對正常端口80上的Web服務器的HTTP請求而啓動的。實際上,這樣設計的一個原因是,它可以與大多數允許Web通信的防火牆配合使用。 – jfriend00 2015-02-01 00:30:15