2017-01-02 240 views
0

我一直在嘗試使用nodeJS和socket.io進行在線多人遊戲。我可以通過localhost:3000訪問我的網站,但現在我希望我的朋友也可以訪問它。如何使node.js服務器可以通過公共IP地址訪問

var express = require('express'); 
var app = express(); 
var server = require('http').Server(app); 
var io = require('socket.io')(server, {}); 
server.listen(3000); 

我怎樣才能讓這個其他人可以使用我的http://cmyip.com發現,例如[外部IP]我的公網IP地址來訪問我的網站:3000。

我試着用ngrok,但它是非常緩慢的,併發出數據每30毫秒被超過ngrok限制socket.io。另外,我不想使用任何DNS或其他插件,我只是希望它很簡單。

我使用的是Mac OS,所以我的防火牆在默認情況下是禁用的。

這裏是我的端口轉發頁:(我的本地IP是192.168.1.50) 我這樣做對嗎?我嘗試過使用遊戲進行端口轉發,它運行良好,所以我不認爲它是我的路由器。 enter image description here

回答

0

如果你確定你沒有與路由器的問題,那麼你可以嘗試聽0.0.0.0這意味着你將傾聽外部和內部的IP不會忽略。

server.listen(3000,"0.0.0.0");

另外你還需要檢查你的Brandmauer或防火牆。

相關問題