Пример #1
0
        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;
        }
Пример #2
0
        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);
        }