无法让socket.io在服务器上运行,而在本地运行正常

这个代码运行良好,在本地运行node.js服务器:

服务器:

var client = require('socket.io').listen(3001).sockets; 

客户端HTML:

 <script src="http://localhost:3001/socket.io/socket.io.js"></script> 

客户端Javascript:

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

然后我把server.js移到了我的ubuntu服务器上,它使用相同的代码安装了节点和套接字io,并且没有错误地启动它。

客户端我把本地的html / javascript文件从localhost:3001更改为ServerIP:3001,它不再工作。 当我检查萤火虫,我可以看到它永远不会完成尝试GET http:// ServerIP:3001 / socket.io / socket.io.js 。 它不会失败,只是永远不会结束。

我做错了什么? 谢谢。

这很可能是防火墙问题。 允许使用以下方式连接端口3001(如果使用iptables)

 iptables -A INPUT -p tcp --destination-port 3001 -J ACCEPT 

再试一次