public async Task<bool> RegisterListener(string connectionId, string roomId) { var roomManager = RoomManager.GetInstance(); if (this._connections.ContainsKey(connectionId)) { await roomManager.RemoveListener(connectionId, this._connections[connectionId].RoomId); this._connections.Remove(connectionId); } var result = await roomManager.RegisterListener(connectionId, roomId); if (result) { var info = new ConnectionInfo() { ConnectionId = connectionId, RoomId = roomId }; this._connections.Add(connectionId, info); } return result; }
public async Task RegisterBroadcaster(string connectionId, Room room, ApplicationUser user) { var roomManager = RoomManager.GetInstance(); if (this._connections.ContainsKey(connectionId)) { await roomManager.RemoveBroadcaster(connectionId, this._connections[connectionId].RoomId); this._connections.Remove(connectionId); } roomManager.RegisterBroadcaster(connectionId, room); var info = new ConnectionInfo() { ConnectionId = connectionId, RoomId = room.Id, Nickname = user.UserName }; this._connections.Add(connectionId, info); }