![](/img/trans.png)
[英]Django Channels failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET
[英]Javascript Sockets (failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET)
我正在嘗試創建一個簡單的程序,以純文本形式向套接字發送消息。 發件人是使用 websocket 的 javascript 網頁,服務器是 C 程序。 我對 C 代碼沒有任何控制權,但代碼所有者向我保證,我可以使用簡單的 javascript 來發送消息。 我的代碼如下:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
//initialize the websocket ws
var ws;
//Open the socket connection
function openSock() {
//test for Websocket compatibility in the browser
if ("WebSocket" in window) {
// log socket attempt
console.log("Attempting to open socket!");
//open web socket ws
ws = new WebSocket("ws://192.168.6.222:11000/echo");
} else { // else the browser doesn't support WebSocket
//Websocket is not supported
alert("APS NOT supported by your Browser!");
}
}
//send the command to socket ws
function sendCommand() {
console.log("Attempting to Send Message");
ws.send("your message here");
}
//close the socket ws
function closeSock() {
console.log("Closing Socket");
// close socket ws
ws.close();
}
</script>
</head>
<body>
<div id="sse">
<a href="javascript:openSock()"><input type=submit value="open"></a>
<a href="javascript:sendCommand()"><input type=submit value="send"></a>
<a href="javascript:closeSock()"><input type=submit value="close"></a>
</div>
</body>
</html>
當我單擊連接按鈕時,出現此錯誤:
WebSocket 連接到“ws://192.168.6.222:11000/echo”失敗:WebSocket 握手期間出錯:net::ERR_CONNECTION_RESET
我檢查了防火牆,端口似乎是打開的。 在花費了大量時間對服務器進行故障排除(確保它正在運行並在網絡上等)之后,我想知道我是否對這個客戶端代碼做錯了什么。
從我有限的知識和我所做的閱讀來看,這看起來是正確的,但歡迎任何幫助。
這可能太晚了,但我在使用 Django 頻道時遇到了類似的問題。 我通過在 URL 末尾添加斜杠 ( /
) 來修復它。
ws = new WebSocket("ws://192.168.6.222:11000/echo/");
連接的服務器端是什么樣子的? 也許您使用的是錯誤的 WebSocket Lib,它不提供有效的握手。
因為在針對 ws://echo.websocket.org 測試客戶端時,一切似乎都運行良好。 這強烈表明 websocket 客戶端不是問題的根源。
確保您的隊列運行正常,就我而言,這就是問題所在
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.