使用SignalR,我想知道在以下情況下設置我的集線器的最佳方式是:假設我有一個網絡賭場應用程序(僅用於娛樂),它有三個遊戲,撲克,二十一點和老虎機。撲克和二十一點都是多人遊戲,所以他們有聊天功能,老虎機沒有。好吧,爲了支持這一點,我正在考慮以如下方式設置我的集線器。SignalR中的多個集線器(設計)
BaseHub(手柄連接東西,是常見的撲克,21點,和角子機)
PokerHub:BaseHub(句柄撲克遊戲)
BlackjackHub:BaseHub(柄酒杯遊戲)
SlotsHub:BaseHub(手柄插槽遊戲)
ChatHub(句柄聊天功能)
我是個讓這個Web應用程序的Poker頁面連接到PokerHub以及ChatHub和Blackjack頁面將執行類似的操作。 Slots頁面顯然只能連接到SlotsHub。
現在,我不確定的事情是:撲克/二十一點頁面應該連接到PokerHub/BlackjackHub和ChatHub,還是有一些方法,我可以讓它們只連接到PokerHub/BlackjackHub並委託聊天聊天中心的功能?在這種情況下,我可能會創建一個像IHasChat的界面或類似的東西。在任何情況下,ChatHub都應該擴展BaseHub?目前BaseHub只實現IConnected,IDisconnect,並且還處理基本的Group函數(JoinGroup,LeaveGroup)。另外,如果BaseHub是一個共享實例(單例)?
最後,如果你認爲我只是想完全錯誤,請讓我知道。這是我的第一個SignalR項目,我知道我不是這方面的專家。另外,我知道這裏實際上有幾個問題。如果你可以回答任何或所有問題,無論哪種方式,我都非常感激。
謝謝你, 湯姆
我遇到了一個非常類似的情況下,我需要有不同配置多個集線器(如:不同的連接超時),但我的特殊情況似乎並不有可能與當前版本(V1.1.0) 。 – kzfabi