使用 nodejs / socket.io 和 wscat 获取"socket hang up"



我有以下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

这适用于我的情况。

相关内容

  • 没有找到相关文章

最新更新