我想建立一個ExpressJS websocket後端爲基於jQuery的前端使用HTML5網絡套接字。與ExpressJS和JQuery的基本Web插座
的ExpressJS後端代碼被從字面上https://github.com/websockets/ws#expressjs-example
JavaScript的前端代碼複製粘貼是:
var socket = new WebSocket("ws://localhost:8080");
socket.onopen = function(){
console.log("OPENED : ", socket.readyState);
}
socket.onmessage = function(msg){
console.log(msg);
}
socket.onclose = function(){
console.log("CLOSED : ", socket.readyState);
}
setTimeout(function(){
socket.send('test');
}, 2000);
在Chrome中,我收到一個錯誤:「連接接收握手之前關閉響應」。我在網上查找了一個解決方案,但它們都是基於socket.io的,而我只是使用NodeJS ws包。
任何提示將不勝感激。
我試過後端代碼的變化(刪除'app.use()'函數,並添加一個處理程序的主頁末端代碼是),一切工作正常。你可以添加更多關於錯誤的信息嗎?前端是否託管在同一臺服務器上? –
@ M.Sallam - 你能詳細說明你做了什麼並作爲答案嗎?前端通過快遞託管在同一臺服務器上並提供網頁服務。有一個端口(3000)用於正規快遞,第二個端口(5000)用於網絡套接字。 – Karric