Socket.io客户端没有连接到服务器

时间:2016-02-09 14:54:31

标签: node.js socket.io

我在流浪汉环境中使用socket.io开发了一个简单的聊天,它可以正常工作。

当我尝试在生产环境中运行聊天时,nodejs / socket.io服务器会运行,但客户端甚至不会触发connect事件。 我唯一能修改的是客户方:

var socket = io.connect('http://localhost:3000');

为:

var socket = io.connect('http://ip_address:3000');

这是服务器代码:

var app = require('http').createServer(handler);
var io = require('socket.io')(app);
app.listen(3000, function() {
    console.log('Server is running');
});
function handler(req, res) {
    res.writeHead(200);
    res.end('');
}

io.on('connection', function(socket) {
    socket.on('subscribe', function() {
        console.log('subscribe request has arrived');
        console.log(socket.id);
    });
});

1 个答案:

答案 0 :(得分:1)

如果它在本地工作并在部署后停止工作,则可能是网络问题 - 防火墙,阻塞端口,Linux强制执行或类似的东西。

要查找源,请转到主机服务器并尝试连接端口

telnet 127.0.0.1 3000 

您是否收到“拒绝连接”错误?如果是这样哪个服务器正在运行代码?确保防火墙服务关闭或端口3000的例外情况。在linux上检查enforcing

如果连接成功,请测试本地PC的连接

 telnet ip_address 3000 

如果失败而不是对外部服务的测试访问(例如portquiz.net),这样您就会知道问题是在本地PC还是网络或删除服务器上。