2015-11-01 33 views
0

SignalRMVC的遊戲開發中,我必須管理玩家ID。如何使用SignalR和MVC管理playerIds

隨着MVC所有Controllers重新創建爲每個AJAX請求,所以你不能存儲任何東西,除非你使用數據庫或將其存儲在cookie中。

請問SignalR有什麼工具可以用來堅持像playerIds這樣的遊戲來緩解這種情況嗎?

回答

1

您無法從SignalR獲取連接標識,但您可以在OnConnected方法上爲每個用戶註冊一個標識。只需在您的集線器中覆蓋該功能。

可能有一種更簡單的方法來做到這一點,但一種選擇是將會話密鑰傳遞給JS,並且從JS可以將每個命令的會話密鑰(或任何其他唯一標識符)傳遞迴服務器。例如,當用戶第一次連接時:OnConnected() - >從JS獲取用戶唯一標識並將其保存在本地,以將每個用戶映射到唯一標識(可能將該標識保存爲組標識,這樣您就可以將該標識保存到組中根據id發送消息給該用戶)。 在您發送到集線器的每個請求之後,您可以將唯一ID附加到集線器,然後您可以使用它,只要您喜歡。

我敢肯定你可以找到更簡單的方法來定義唯一的標識符,也許更適合的方式來保存你的數據在集線器。

現在我想到了,您還應該檢查this