Websockets 向服务器发送垃圾

Websockets sending garbage to server

我已经创建了一个从我的网站到我的家庭服务器的 WebSockets 连接 运行正在监听端口 3000 的 python 脚本。我可以很好地连接到服务器,因为服务器记录了一个当我加载我的页面时,客户端已连接。然而,每次我连接到服务器时,服务器都会自动触发我的服务器 receivedMessage() 函数并打印出一堆关于连接的垃圾信息。服务器日志如下:

A new client has connected
Message Received:  GET / HTTP/1.1
Host: [Insert host name and port here]
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
Origin: null
Sec-WebSocket-Version: 13
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Sec-WebSocket-Key: 3DUmKD70X9p19IpLPjS2jg==
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits

连接服务器的代码片段很简单:

var theSocket = new WebSocket("ws://[insert host name]:3000");

    theSocket.onopen = function() {
        // Web Socket is connected, send data using send()
        theSocket.send("blah");
        alert("SENT");
     };

当上述脚本为 运行 时,警告框也不会出现。是什么导致打印所有连接详细信息,如何让它发送一个简单的字符串并成功弹出警告框?

您的 WebSocket 很可能永远不会从 CONNECTING 转换到 OPEN,因此永远不会调用您的 onopen 函数。您需要确保您的 python 脚本在服务器端通过 Web Socket Handshake