[已解决]socket.io&nodejs无法连接

刚刚接触socket.io
远程linux服务器(iptables关着) :
server.js:

var Server = require('socket.io');
var io = new Server(5555);
//console.log(io);
io.on('connection', function (socket) {
    socket.emit('msg', { hi: 'Hello' });
    socket.on('msg', function (data) {
        console.log(data);
    });
});

执行 node server.js

netstat -lnp 发现端口是这样的

tcp6 0 0 :::5555 :::* LISTEN 21672/node

本地web端

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.js"></script>
<script>
var socket = io("ws://服务器外网ip:5555");
socket.on('msg',function(data){
    socket.emit('msg', {rp:"hey"});
    console.log(data);
});
</script>


polling-xhr.js:264
GET http://服务器ip:5555/socket.io/?EIO=3&transport=polling&t=L_2jenf net::ERR_CONNECTION_TIMED_OUT

那 是端口监听的方式不对? ipv6?需要怎么调整 any idea?

----- 提问十分钟后更新↓ -----

防火墙关了
突然想起来阿里云的安全组
在阿里云里安全组把5555端口开放了

ok了 解决。

阅读 9.2k
1 个回答

你这个是超时了,先ping一下服务器,确保能ping通,然后再看看服务器防火墙是不是没有开放端口,定位出问题的点

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题