我一直在尝试创建一个在浏览器中运行的网络套接字聊天室。我做了一些谷歌搜索,发现了一个提供示例 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)
谢谢你的帮助。
我刚刚在http://websocket.org/echo上测试了 Echo 演示,它使用 Chrome 21 运行良好。您的其他示例似乎也运行良好。你可以在这里查看。
由于您使用的是 Chrome 21,因此您可以使用 Chrome 开发工具来查看 WebSocket 握手是否正在进行以及是否看到任何消息。
您是否有可能坐在切断流量的路由器/防火墙后面?您可以在 websocket.org 上尝试 WSS 吗?(在位置字段中输入 wss://echo.websocket.org。)