此代码在本地运行的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。它不会失败,只是永远不会完成。
我做错了什么?谢谢。
答案 0 :(得分:2)
这很可能是防火墙问题。 使用以下内容允许端口3001上的连接(如果使用iptables)
iptables -A INPUT -p tcp --destination-port 3001 -J ACCEPT
再试一次