我有一個用Java編寫的服務器,它基本上等待來自不同客戶端的請求並服務於他們的請求。我從Eclipse運行這個服務器。該服務器可在本地網絡上訪問,但我希望能夠從本地網絡外部訪問此服務。請問有什麼辦法可以嗎?從本地網絡外部訪問服務器
P.S.我是一個真正的初學者在這些東西
我有一個用Java編寫的服務器,它基本上等待來自不同客戶端的請求並服務於他們的請求。我從Eclipse運行這個服務器。該服務器可在本地網絡上訪問,但我希望能夠從本地網絡外部訪問此服務。請問有什麼辦法可以嗎?從本地網絡外部訪問服務器
P.S.我是一個真正的初學者在這些東西
你可以打開一個端口在路由器,導致服務器正在偵聽。然後,您連接到您的公共IP。這個ip可以是found on
你也可以下載類似Hamachi的東西,然後下載Hamachi並在其他PC和Mac(以及目前處於測試階段的Linux)上登錄到你的網絡。然後,您將希望能夠訪問您的服務器。
正如@Java球員說,問題是,你的路由器(NAT)否認有任何傳入數據包到本地網絡......簡單地說,有許多解決方案這樣的:
第三方服務器:你必須有個扮演一個專用服務器e中介的作用,在你的客戶/服務器程序之間。
優點:
缺點:
除了你的客戶,你必須編寫其他第三方轉發數據包到期望的目的地。
順便說一句,它有點沉重(浪費帶寬)。
Reversed connexion:服務器和客戶端程序顛倒過來,這是指客戶端成爲一個服務器,服務器成爲客戶端,「被大多數的木馬...
優點:
缺點:
Udp hole punching:這種方法被所有peer2peer解決方案(例如:skype,utorrent ...)使用。
優點:
缺點:
STUN server
獲得有關你的路由器信息第三方服務器。
確保你的機器是從外部訪問的IP地址,防火牆可以讓外面的機器訪問您的服務器偵聽PROT這個IP。 – 2013-04-05 22:30:59
兩種主要的問題都是在stackoverflow範圍之外。防火牆和NAT。我會研究這些事情,並考慮發佈在超級用戶上,如果你仍然有問題。 – jedwards 2013-04-05 22:31:01