javascript - Websocket 向服务器发送垃圾

标签 javascript python sockets websocket

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

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在服务器端。

关于javascript - Websocket 向服务器发送垃圾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28063111/

相关文章:

Ruby TCP 套接字永远不会得到回复

javascript - 双击更新传单 map 上的位置标记

javascript - 显示/隐藏具有不同类的 li 元素

python - 如何将结果仅写入测试套件selenium中的一个文件

python - 跳过枚举列表对象中的迭代(python)

c# - C#通过套接字高效传输屏幕的改进方法

javascript - 返回对象内的 Ajax 数据

Javascript调用函数-动态变量名

python - 如何获得查询结果的长度SqlAlchemy

C 套接字 - 接收 : connection reset by peer