2011-04-06 165 views
0

我寫了一個客戶端/服務器代碼。 服務器程序在明文從客戶端接收文本數據的終端上執行,客戶端是GUI,您可以在其中指定服務器將運行的計算機的IP地址。使我的TCP服務器面向互聯網 - 我應該從哪裏開始?

但是,這隻適用於封閉的網絡(LAN)。 我剛學過TCP IP,寫了一些在局域網上運行的代碼。 我想讓這個程序通過網絡工作(通過互聯網)。 但是我有一些基本的疑問,比如是否需要本地ISP的許可才能讓這些程序在互聯網上執行。它涉及購買域名還是某種權限? 有人可以幫助我,我該怎麼做,或者我應該從哪裏開始?

+0

您是否嘗試過使用互聯網?如果沒有,爲什麼?我認爲你根本不需要任何許可。所有的瀏覽器,FTP客戶端,服務器等都可以在互聯網上使用。你爲什麼認爲你需要許可? – 2011-04-06 12:11:46

+0

我應該粘貼源代碼更清晰嗎?我已經嘗試過,但沒有連接。而且它有一個很好的可能性,只是因爲我可能做錯了什麼。但它在一個封閉的網絡中工作正常。我想可能是因爲我們正在與另一臺機器直接對話我的程序可能會被一些內部防火牆阻止。請告訴我所有我說的話可能是錯的。我是一個新手 – Pavitar 2011-04-06 12:18:11

+0

不,它很清楚。內部防火牆不會阻止您,因爲您可以在局域網中進行連接。所以,你只需要在你的路由器上設置端口轉發。 – 2011-04-06 13:37:18

回答

1

監聽器必須以某種方式打開IP端口。如果你在路由器後面,你應該在路由器上設置正確的端口轉發,如果ISP提供了它自己的子網,你應該知道如何建立這樣的鏈路。 (我不知道什麼樣的技術ISP可以用這個)。

開始時,你不需要你自己的域名,但你應該可以通過IP地址。如果您需要域名,請註冊自己的域名或免費創建子域名(我正在使用http://freedns.afraid.org/

0

如果您的服務器位於創建LAN的路由器後面,則必須配置路由器,以便將包從客戶端轉發到服務器。 您必須將特定端口上的所有傳入軟件包轉發到服務器的本地IP。

+0

我該怎麼做?這可以通過編程實現嗎?我不擅長配置路由器。 – Pavitar 2011-04-06 12:23:51

+1

這個過程很相似,但實際上取決於您的路由器型號。通常有一個「配置」或「設置」頁面(來自大多數路由器的Web界面),您可以在其中配置「端口轉發」到您的服務器程序。然後客戶端必須連接到您的公共IP(您的路由器的外部IP),或者您可以使用一些動態服務(如:http://no-ip.com/) – 2011-04-06 12:37:39

相關問題