0
我创建了一个WebSockets连接从我的网站到我的家庭服务器运行一个python脚本监听端口3000.我可以连接到服务器就好了,因为服务器记录客户端连接时我加载我的页面。但是,每次连接到服务器时,服务器都会自动激发我的服务器receivedMessage()函数,并打印出一连串关于连接的垃圾信息。这些服务器日志如下:Websockets发送垃圾到服务器
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");
};
还警告框一直没有出现运行上面的脚本时。什么导致所有的连接细节打印,如何让它发送一个简单的字符串,并成功弹出警告框?
事实上,我的JavaScript控制台刚刚打印出“WebSocket连接到'ws:// {HOSTNAME]:3000 /'失败:WebSocket打开握手被取消'使我认为你是正确的 – Aimee 2015-01-21 09:38:07
只是试图了解 - 上面仍然没有回答为什么当连接不成功时WS服务器正在打印垃圾信息,这是否是一些默认的WS行为 – goldenmean 2015-01-22 11:52:13
正确的,如果你看第一部分的链接文章,你可以看到websocket客户端会发送一个“标准的”http请求,这是Aimee在他们的服务器打印中看到的,在没有python服务器代码的情况下很难多说。 – 2015-01-23 08:22:53