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

时间:2016-05-18 19:04:18

标签: javascript node.js sockets 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移动到安装了node和socket io的ubuntu服务器上,使用相同的代码,并且没有错误地启动它。

Clientside我将本地html / javascript文件从localhost:3001更改为ServerIP:3001,它就不再起作用了。当我检查萤火虫时,我可以看到它从未完成尝试获取http://ServerIP:3001/socket.io/socket.io.js。它不会失败,只是永远不会完成。

我做错了什么?谢谢。

1 个答案:

答案 0 :(得分:2)

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

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

再试一次

相关问题