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

我已经开发了一个简单的聊天使用socket.io在一个stream浪的环境,它工作正常。

当我尝试在生产环境中运行聊天时,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); }); }); 

如果它在本地工作并在部署后停止工作,则可能是networking问题 – 防火墙,阻塞端口,Linux强制执行或其他types的问题。

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

 telnet 127.0.0.1 3000 

你有没有“拒绝连接”的错误? 如果是的话,哪个服务器运行的代码? 确保防火墙服务是closures或有例外的端口3000.在Linux检查执行 。

如果连接成功,则testing本地PC的连接

  telnet ip_address 3000 

如果它比testing访问外部服务(例如portquiz.net )失败这样你就会知道这个问题是否与你的本地PC或networking,或删除服务器。