websocket经常断开连接

Pro*_*rmr 5 html websocket

我一直在尝试创建一个在浏览器中运行的网络套接字聊天室。我做了一些谷歌搜索,发现了一个提供示例 websocket 连接的网站 (www.websocket.org/echo.html)。但每当我尝试他们的“连接”按钮时,它会立即显示“已断开连接”,并且我无法发送消息(这只发生在 Chrome 上)。所以我在 Firefox 上尝试了它,它显示“错误:未定义”,然后“已断开连接”。两种浏览器都支持 websocket 技术。

所以我去了另一个网站(http://www.tutorialspoint.com/html5/html5_websocket.htm)并复制了示例代码,将其另存为“.html”并在chrome中运行。它无法连接到 websocket。相反,它说“已断开连接”。

问题:为什么我无法连接到 websocket/为什么它总是断开连接?我的 Chrome 版本是 21.0.1180.60。

为了进一步参考,这是迄今为止我的代码(注意:这只是应该连接并表示它已连接,而不是实际聊天):

<!doctype html>
<head>
<title>Testing</title>
</head>
<body>
<script type="text/javascript">
    function confirm() {
    if ("WebSocket" in window) {
        alert("WebSocket is supported by your Browser!");
    }
    else {
        alert("Your Browser does not support WebSocket Technology. Please      update your Browser.");
    }
}
function sendmessage() {
    try {
        var ws = new WebSocket("ws://(ip of other user/")
        }
    catch(err)
        {
        alert("Error with creating the WebSocket")
        }
}
</script>
<a href="javascript:confirm()">Run Ip Connector</a>
</body>
</html> 
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助。

Pet*_*its 3

我刚刚在http://websocket.org/echo上测试了 Echo 演示,它使用 Chrome 21 运行良好。您的其他示例似乎也运行良好。你可以在这里查看。

由于您使用的是 Chrome 21,因此您可以使用 Chrome 开发工具来查看 WebSocket 握手是否正在进行以及是否看到任何消息。

您是否有可能坐在切断流量的路由器/防火墙后面?您可以在 websocket.org 上尝试 WSS 吗?(在位置字段中输入 wss://echo.websocket.org。)

  • 是的,这似乎是防火墙/路由器切断了流量。谢谢。 (3认同)