2013-08-26 46 views
0

我正在製作android遊戲和我自己的JAVA服務器。我想在自己的計算機上運行該服務器。我不需要在其他任何地方運行它,所以我真的不需要其他解決方案(付費主機等)。我需要一個靜態IP訪問我的電腦。目前即時通訊使用no-ip.com來做到這一點,但我無法訪問收到的數據。 我的服務器上即時通訊監聽使用DatagramSocket.receive()特定的端口上,而在另一側即時通訊將數據發送到:在我自己的電腦上託管Java服務器,使用「no-ip」進行靜態訪問

InetAddress.getByName(HostName.no-ip.biz):port(the port my server is listening to) 

我可以看到,即時通訊將數據發送到正確的地址(地址相同DUC是顯示我),但服務器不捕獲該數據。

如果任何人有使用no-ip.com獲得靜態IP的一些經驗,請幫助。

P.S. 目前我可以通過iPhone綁定上網,所以沒有真正的路由器可能是背後的原因。我已經讀過,我不需要在手機上進行端口轉發,因爲我的ISP正在爲我做NAT。任何解決方法?

它只是在我的電腦上安裝DUC足以使用no-ip?

任何更簡單(免費)的方式來獲得靜態IP?

+0

Arent你能夠設置自己的靜態IP地址,當你連接到你的iPhone設備? 如果您使用iphone作爲無線接入點,並且您已連接到該無線接入點,則應該能夠爲您的連接設置您的靜態IP地址(假設您使用IPv4)您的IPv4設置。 –

+0

我目前正在使用iPhone,因爲我不在城裏。我會在幾天後回到古典路由器上......我真的需要一個可以在任何地方工作的解決方案(這樣我就可以在必要時將整個筆記本電腦放在另一個地方,或者在不同的電腦上安裝服務器並獲得相同的結果)... – klo

回答

0

這對我來說似乎是一個端口轉發問題。

No-IP會爲您解析iPhone的外部IP地址,因此您的數據包將到達那裏。 iPhone不知道如何處理它們。您需要將它們從您的iPhone轉發到本地PC的IP地址,但我不知道這是否可能。

在家裏使用路由器時,端口轉發應該沒有問題。

+0

不是所有的港口都應該開放嗎? – klo

+0

問題是,由於您通過iPhone訪問互聯網,因此您的本地IP地址被僞裝,因此互聯網上的每個人都只能看到您的iPhone的外部IP地址,並且所有請求都會到達那裏。 當你的iPhone收到來自遊戲客戶端的請求時,它只會丟棄它,因爲它不知道它應該將它轉發給你的服務器。 – jwinkler

相關問題