带有websocket的Node.js socket.io

我在Node.js或websocket begginer。 我有问题:

我的HTML代码:

<!DOCTYPE html> <html> <head> <title>test</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <script> "use strict"; var gniazdo = new WebSocket('ws://localhost:3000'); gniazdo.onopen = function(){ console.log('Połączono'); }; gniazdo.onmessage = function(m){ console.log(m.data); }; </script> </body> </html> 

我的Node.js代码:

 var io = require('socket.io')(3000); io.on('connection', function(socket){ console.log('a user connected'); }); 

我在控制台中有错误:

 WebSocket connection to 'ws://localhost:3000/' failed: Connection closed before receiving a handshake response 

帮助PLZ 🙂

你的客户正在使用WebSocket,但是Socket.IO有自己的协议( 可以通过WebSockets传输,但也可以通过其他协议传输)。 改变你的客户使用Socket.IO自己的客户端:

 <script src="https://cdn.socket.io/socket.io-1.1.0.js"></script> <script> 'use strict'; var gniazdo = io('ws://localhost:3000'); gniazdo.on('connect', function () { console.log('Połączono'); gniazdo.on('message', function (m) { console.log(m.data); }); }); </script>