套接字IO不会在公共IP上工作,工作正常localhost

时间:2017-06-03 03:41:34

标签: javascript node.js unix networking socket.io

所以我使用socket io并且我已经在localhost上成功部署了应用程序。

要连接客户端,我正在使用:

var socket = io.connect(window.location.origin + ":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) {
...
});

我通过在3333上执行nmap验证了我的应用程序在服务器上运行。

但我一直在客户端上获得ERR_CONNECTION_TIMED_OUT。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

解决方案是将规则添加到服务器上的防火墙端口:

sudo iptables -I INPUT -p tcp --dport 3333 -m state --state NEW -j ACCEPT