我正在开发一个涉及通过websockets与基于socket.io的服务器交互的java客户端的项目。为了测试从websockets到xhr-polling的回退,我需要模拟我的Windows主机上的websocket阻塞。
如何做到这一点?
答案 0 :(得分:2)
在Windows防火墙中禁用websocket并非易事。在浏览器中禁用此协议不是一种方法 - 如果您想要在浏览器支持websocket但被防火墙,防病毒,域策略规则阻止的情况下测试回退,...
我通过使用grunt-connect-proxy运行nodejs服务器来模拟此行为。默认情况下,它会阻止ws://协议,但您可以使用
轻松启用它option.ws = true
答案 1 :(得分:0)
由于它始终是您的服务器并且您知道您的服务器始终支持Web套接字,因此您不必担心客户端支持Web套接字的情况,但您的服务器不支持。因此,您需要测试的是客户端不支持Web套接字的情况。
您应该能够通过在客户端javascript中临时更改创建webSocket的一行来测试它,以限制socket.io可以仅使用轮询方法的传输。
请参阅此问题以及其他建议的答案:How can i temporarily disable websocket in Google Chrome?。