Getting “socket hang up” using nodejs / socket.io and wscat

风格不统一 提交于 2020-12-29 12:00:21

问题


I have the following nodejs web socket server

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");

When trying to connect using wscat

wscat -c ws://localhost:8000/

I get the following error

error: Error: socket hang up

It works just fine in browser with the following javascript

var socket = io.connect('http://localhost:8000');
socket.on('news', function (data) {
  console.log(data);
  socket.emit('my other event', { my: 'data' });
});

Help is appreciated!


回答1:


I suggest that you try connecting to endpoint while specifying transport protocol. Like this:

wscat -c ws://localhost:3000/socket.io/\?transport=websocket

This works for my case.



来源:https://stackoverflow.com/questions/38583501/getting-socket-hang-up-using-nodejs-socket-io-and-wscat

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!