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