2017-08-20 52 views
-6

我決定用c#編寫一個紙牌遊戲,它有一個用於主服務器的winform應用程序來管理帶有web界面的遊戲。我選擇了主服務器的SignalR自主服務器。因爲我想賣這個應用程序給別人,不想修改網頁界面的代碼或html。所以我的問題是:這對處理10000個客戶端請求有好處嗎?有沒有辦法編寫這個應用程序以獲得更好的性能? 另一件事是我想寫的主要服務器和登錄cashout配置文件和...大多數客戶喜歡撲克專家寫的,我只是用json創建一個API來做這個功能。 plzzzz指導我哪種方式更好地寫這個程序!用網頁界面創建遊戲服務器的更好方法

+0

你的問題還不清楚。你能詳細說明一下你確切的情況嗎?您的遊戲是否連接到中央服務器,客戶端連接到服務器以玩遊戲?爲什麼你將Winform應用程序用作「服務器」?這是一個基於Web瀏覽器的遊戲嗎?手機遊戲? PC遊戲?還有什麼意思是10000個客戶端請求?這是否意味着10k客戶端將在線併發請求?什麼是收銀機配置文件? – KRoy

+0

@KRoy 首先請關注並回答tnx! 我在下面逐個回答你的問題。 我的確切secario是[撲克專家](http://www.briggsoft.com/pmavens.htm) 不,我的服務器遊戲是獨立的,玩家用瀏覽器連接到我的服務器。 我使用的是winform,因爲我想銷售我的遊戲服務器,並且不想修改客戶的代碼。 瀏覽器遊戲基地。 意味着10k客戶端連接到我的遊戲服務器並在那裏玩遊戲。 是的。 看到鏈接了。 – IR4N0nY

回答

1

隨着您的服務器代碼自己託管和一個JavaScript客戶端調用您的服務器方法,成爲您的基於瀏覽器的客戶端,您的設計應該工作。
我正在看這個。 https://docs.microsoft.com/en-us/aspnet/signalr/overview/deployment/tutorial-signalr-self-host

但我認爲你需要弄清楚自我託管的擴展場景和服務器故障場景。如果服務器上有補丁更新並且必須重新啓動,則需要能夠獲得備份。當您需要升級服務器時,請考慮這種情況。因此,您需要能夠將其託管在多個服務器中,並且您需要提供信號背板選項。從性能的角度來看,我已經在單個4核-14-GB服務器上測試了web api signalR應用程序,並且能夠擴展到20k個連接,服務器可以舒適地爲每個服務器提供超過200個請求第二。

對於背板,這些數字大約爲100-150 rps。 兩種情況下的響應時間非常好〜500毫秒。

雖然請注意,根據您的實際功能,您的號碼可能會有很大的不同。

+0

verrryy謝謝@KRoy的回答! 我不知道爲什麼人們給我一個downvote?這個網站的問答問題! :| 所以你建議我使用signalr?有沒有更好的技術來編寫這個應用程序的Windows窗體? – IR4N0nY

+0

downvotes可能是因爲您在提問時沒有足夠的細節。通常問題還需要具體說明,比如執行特定的場景或幫助某些不起作用的東西,而不是像設計系統等那樣廣泛。這將根據您對技術的知識和您的具體要求做出決定。 – KRoy

+0

看看https://gamedev.stackexchange.com/questions/110589/signalr-for-multiplayer-game-development和https://stackoverflow.com/questions/24551954/signalr-as-a-game-server ?rq = 1。 – KRoy