2009-12-16 43 views
2

我正在使用的當前應用程序是Client-Server C#應用程序,並且在網絡上運行得非常好。現在我想,如果它可以通過互聯網運行。問題是如何做到這一點?我如何在我的電腦上啓動服務器,並在什麼情況下讓每個客戶端通過互聯網連接?我需要什麼軟件來做到這一點?如何使C#客戶端 - 服務器通過互聯網運行?

每個意見/建議都可能非常有用。

謝謝。

回答

2

告訴他使用Soap/Tcp/Wcf是毫無意義的。他已經在他的本地網絡上運行

您可以設置您的家庭網絡以允許來自互聯網的連接。大多數路由器都支持Dynamic DNS services。每當我離開家時,我都會使用SSH連接到我的家庭計算機。

這將需要在家中設置路由器以轉發相應的端口,並將其設置爲與動態DNS服務配合使用,但之後您可以使用您設置的域名從Internet上的任何位置訪問它DDNS服務,一切都應該順利完成。

+0

即使服務器是C#應用程序(Windows窗體應用程序),它也能工作嗎? – Emanuel 2009-12-16 20:58:02

+0

它沒有任何區別。您只需通過網絡(不管您是LAN還是網絡)發送數據包(與您的編程語言或開發環境無關)。 – Rushyo 2009-12-16 21:11:35

+0

很好的答案,你提到了家庭網絡的動態IP問題。我通過在瀏覽器中轉到默認網關IP(從命令窗口中的ipconfig獲得),轉到** Firewall **,然後** NAT/Gaming **,然後在AT&T Motorola調制解調器上工作我用我的端口和我的協議(在我的情況下只是TCP)添加了「自定義服務」,然後將新的「服務」添加爲指向我的PC的「託管應用程序」。我在端口'0.0.0.0'上運行我的服務器,以便獲取內部和外部IP。我現在買不起動態DNS,但至少我可以通過IP實現。客戶指向公共IP – toddmo 2015-04-02 17:18:10

4

你可以使用WCF服務的服務器,讓客戶端應用程序使用TCP或肥皂或連接到它..

大的信息在這裏p&p app architecture這裏MS WCF

爲了讓互聯網的連接休息到您的服務器在IIS中設置一個網站並註冊一個域名,將其指向您的服務器的IP。還要更改host文件以處理請求。

2

只要您所在的網絡允許傳入連接到您的IP地址,您應該沒問題。雖然請注意,大多數人的家庭網絡設置涉及到一個坐在公共IP地址前面的路由器,而您的所有計算機/筆記本電腦/遊戲控制檯只有該網絡的IP地址。這意味着您可能需要設置路由器將一個或兩個端口轉發到運行服務器的計算機。

0

在這種情況下,你接下來要做的事情需要做的是兩種:從網絡託管公司

  • 購買服務器空間(考慮的Windows Azure)
  • 暴露在一個靜態IP您的計算機,並有客戶端連接到那個。

無論哪種方式,我會建議購買一個域,並指向它的IP。這樣,如果/當您承載它的位置發生變化,您可以提交DNS更改,並且域將指向新的位置。

一旦你有一個公開曝光的系統,建立一個Web服務來響應客戶端請求。

相關問題