2013-07-27 225 views
0

我想用websocket製作一個服務器。我已經嘗試了很多編程語言(python,php,C++等),並且就我連接到ws://127.0.0.1:12345而言,一切似乎都沒問題。但是,如果我嘗試將地址更改爲我的PC的IP地址(89.135.123.456),則無法連接到服務器。服務器始終綁定到IP 0.0.0.0,端口12345在我的路由器中啓用。我可以使用我的IP地址連接到xampp服務器。我的IP地址無法連接到它的原因是什麼?Websocket服務器連接

+0

.... 456不能成爲你的IP,但如果你剛剛隱藏真正的IP,那就沒關係。嘗試在端口上telnet到您的IP。還請檢查您的防火牆設置。 – bansi

+0

x.x.123.456,是的,這不是一個真正的IP。 :D – klenium

+0

你檢查了你的防火牆設置(如果你有)?您將需要添加異常以接受來自路由器的傳入連接。你的apache服務器會將這個異常添加到防火牆中。用作參考。 – bansi

回答

0

我想你正在開發你的本地機器,它通過一個帶有網絡地址轉換(NAT)的通用路由器連接到互聯網。

將服務器綁定到0.0.0.0可以確保該進程正在所有接口上進行偵聽,這是必需的,並且您已經擁有它,很好。

從何處嘗試使用外部IP地址連接到WebSocket服務器?當你在一個典型的NAT互聯網連接後面時,你不能在你的本地網絡或本地主機上使用它。當您嘗試從本地網絡中的其他計算機連接到服務器時,您需要使用本地IP地址。

如果您嘗試從「外部」(即從路由器的Internet端使用路由器的外部IP地址)進行連接,則需要確保在路由器中配置了端口轉發:任何需要將目標your_external_ip:ws_port的IP數據包轉發至your_local_ip:ws_port。否則,路由器會簡單地丟棄傳入的數據包,因爲這是意外的。

+0

http://i.imgur.com/Ifyz4DK.png 我試圖從我的PC連接到服務器作爲我的IP地址(但只有「localhost:12345」的作品)。但是來自其他城市的我的朋友無法連接到89.135.123.456:12345。 – klenium

+0

但是他可以從他的瀏覽器(http:// 89.135.123.456)連接到我的apache服務器。 – klenium

+0

嘗試「虛擬服務器」部分,並確保轉發到本地網絡中的*您的*機器。 –

相關問題