我想建立一个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