2017-06-03 24 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 
相關問題