我有以下nodejs web套接字服务器
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(8000);
app.get('/', function (req, res) {
res.sendFile(__dirname + '/index.html');
});
io.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
console.log("Listening on 8000");
尝试使用wscat
进行连接时
wscat -c ws://localhost:8000/
我得到以下错误
error: Error: socket hang up
它在浏览器中使用以下javascript 工作得很好
var socket = io.connect('http://localhost:8000');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
感谢您的帮助!
我建议您在指定传输协议时尝试连接到端点。像这样:
wscat -c ws://localhost:3000/socket.io/?transport=websocket
这适用于我的情况。