2012-05-14 62 views
2

就套接字服務器而言,我在網絡部署方面有點困惑。c#套接字服務器 - 部署,啓動,停止

本地運行,因爲大多數的教程讓你做一個服務器應用程序,並且我能夠執行客戶端應用程序的罰款。現在就完成所有這一切,我對此感到滿意,但現在我想使用Web主機來嘗試它。

如何將套接字服務器部署到我的虛擬主機,然後運行服務器?我只是上傳程序到服務器並運行www.mywebpage.com/mysocketserver(假設該程序名爲mysocketserver.exe)

聽起來像一個愚蠢的問題,但我有一個腦死亡的時刻。

[編輯] 偉大的答案傢伙謝謝。恥辱我只能將其中一個標記爲答案。

回答

2

大多數託管服務都與網站相關:您將您的網站上傳到他們的服務器,主機負責配置應用程序。

但是你沒有寫由Web服務器提供服務的網站,但一個套接字服務器,它更像是運行一個網站的Web服務器本身。

因此,您將需要一個主機,將允許你安裝和運行應用程序,如Virtual Private Server服務,租用physical server或使用雲服務,如Amazon EC2

你通常遠程桌面或SSH連接到你是租用(或自己)上傳和啓動應用程序的服務器無論是作爲一個正常的應用程序,服務或守護程序。

一旦你已經安裝了插座服務器的主機服務器上,並開始運行的應用程序,你應該能夠使用的IP地址爲您的服務器和您正在運行的套接字服務器的端口聯繫您的服務。

例如,如果您的IP地址是10.0.0。1,並且您已經編寫了套接字服務器以偵聽端口1234,則應該能夠聯繫地址爲10.0.0.1:1234的服務。

考慮允許訪問該端口的防火牆。

然後,您還可以使用DNS服務(如DynDns)爲該IP地址分配域名。

+0

非常感謝你。我聽說過亞馬遜EC2,所以我認爲這就是我下一個研究的地方。 – Gaz83

+0

不客氣。不要忘記註冊並接受最適合您的答案。 – Kynth

+0

我目前的虛擬主機每個月以19.99英鎊(32.11美元)的價格購買虛擬專用服務器。所以我可能會接受這個選擇。 – Gaz83

0

在互聯網上的問題是路由/名稱轉換,使mywebpage被翻譯成正確的IP地址。
您的網絡服務器需要一個固定的公共IP地址,或者您需要使用像dynds這樣的服務,它將動態地將您更改的IP地址映射到靜態名稱。

+0

好吧,爲了爭吵讓我說我的網絡服務器的IP地址是111.222.333.444。它會運行到111.222.333.444/myscocketserver嗎? – Gaz83

+0

您已經編寫了套接字服務器應用程序,而不是網站。它更可能在111.222.333.444:1234上運行,其中1234是您編寫/配置套接字服務器偵聽的端口,與Web服務器配置爲在端口80上偵聽http流量的方式相同。 – Kynth

+0

你如何在本地機器上運行它?由於您編寫的應用程序類型,您需要租用一臺與本地計算機非常相似的服務器,無論是Windows還是Linux/Unix。您通常使用遠程桌面(或使用SSH)複製或正常安裝文件,然後正常運行(或將其安裝爲服務/守護進程)。這種託管通常比租用一些處理時間來處理網站上的腳本更昂貴。 – Kynth

1

除非你的套接字服務器使用HTTP協議,否則你不能這麼做。

您正在使用端口爲您的服務器,對不對?端口用於標識要與哪個應用程序交談。

當你使用瀏覽網頁「http://something」你說真的讓我可以在IP 1.2.3.4(DNS查找)使用端口80(這是註冊HTTP)中發現的東西。您不必在瀏覽器中指定端口,因爲所有瀏覽器都知道HTTP使用端口80.

因此,您真正應該做的是將套接字服務器放在主機上,並告訴您的客戶/用戶他們可以在主機「www.mywebpage.com」的端口XXX上連接到您的套接字服務器。

如果您已經構建了一個客戶端,您只需對其中的端口進行硬編碼或自動指定默認端口。

+0

好吧,現在我瞭解更多:-) – Gaz83