0
私は、SignalRを使用してゲームフィールドを更新するASP Webフォームのマルチプレイヤーゲームプラットフォームを構築しています。ハブの子クラスでグループを取得するには?
私は新しいプレーヤーの接続を扱うGameHub
あります
[HubName("GameHub")]
public class GameHub : Hub
{
static protected IHubContext context = GlobalHost.ConnectionManager.GetHubContext<GameHub>();
static public Dictionary<string, string> connectionIds_sessions = new Dictionary<string, string>();//connectionId and sessionId
public void JoinGroup(string sessionId)
{
//this is called when the page is opened
string connectionId = Context.ConnectionId;
connectionIds_sessions.Add(connectionId, sessionId);
Groups.Add(connectionId, sessionId);
}
}
をそして私は、各ゲームのための子クラスを持っています。たとえばThisHub
について:
[HubName("TrisHub")]
public class TrisHub : GameHub
{
public void SendTrisUpdates(string sessionId, TrisSession tris)
{
Clients.Group(sessionId).getUpdates(tris);//here I receive System.NullReferenceException.
}
}
私はそこではないので、母親クラスGameHubから作成されたグループで物事を送信することはできません。
どうすればいいですか?
母クラスはありませんか? –
できます。しかし、彼らはお互いに独立している(独自の接続、自分のグループなど)。 – MaKCbIMKo