2017-06-03 13 views
-2

所以我使用套接字io,并且我已经在localhost上成功部署了应用程序。套接字IO不能在公共IP上工作,工作正常本地主机

要连接的客户端,我使用:

var socket = io.connect(window.location.origin + ":3333"); 

的可扩展性。 3333:我使用

var express = require("express"), 
app = express(), 
http = require("http"), 
server = http.createServer(app), 
io = require("socket.io").listen(server), 
request = require("request"); 

server.listen(3333); 
io.sockets.on("connection", function(socket) { 
... 
}); 

,我已经验证了我的应用程序 服务器端通过执行NMAP是在服务器上运行的。

但我不断收到客户端上的ERR_CONNECTION_TIMED_OUT。

有什么建议吗?

+1

你检查你的防火墙?仅供参考大多数Linux服务器默认情况下都启用了防火墙。 Google“iptables” – slebetman

+0

Siebetman你的回答是对的,我必须添加防火墙规则才能明确接受数据包。如果你回答这个问题,我会接受你的答案,谢谢 –

回答

0

解决的办法是规则添加到防火墙的服务器上的端口:

sudo iptables -I INPUT -p tcp --dport 3333 -m state --state NEW -j ACCEPT 
相关问题