コード例 #1
0
        /// <summary>
        /// Notifies all users that a user pressed the skip button
        /// </summary>
        public void UpdateSkipAudio()
        {
            Dictionary <string, object> data = new Dictionary <string, object>();

            foreach (User user in userList)
            {
                try
                {
                    user.socket.Send(PacketEncoding.EncodeResponsePacket(new packets.ResponsePacket(data, PacketType.skipAudio)));
                }
                catch (Exception error)
                {
                    userList.Remove(user);
                    Console.WriteLine(Server.GetLineAndFile() + error.Message);
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Sends an updated usernames list to all connected users
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void UpdateNicknames(object sender, ListChangedEventArgs e)
        {
            Dictionary <string, object> data = new Dictionary <string, object>()
            {
                { "nicknames", userList.Select(u => u.Nickname).ToList() }
            };

            foreach (User user in userList)
            {
                try
                {
                    user.socket.Send(PacketEncoding.EncodeResponsePacket(new packets.ResponsePacket(data, PacketType.updateNickname)));
                }
                catch (Exception error)
                {
                    userList.Remove(user);
                    Console.WriteLine(Server.GetLineAndFile() + error.Message);
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Sends an updated playlist to all connected users
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void UpdatePlaylist(object sender, ListChangedEventArgs e)
        {
            Dictionary <string, object> data = new Dictionary <string, object>()
            {
                { "playlist", videoQueue }
            };

            // Send new video details to all clients
            foreach (User user in userList)
            {
                try
                {
                    user.socket.Send(PacketEncoding.EncodeResponsePacket(new packets.ResponsePacket(data, PacketType.addToPlaylist)));
                }
                catch (Exception error)
                {
                    userList.Remove(user);
                    Console.WriteLine(Server.GetLineAndFile() + error.Message);
                }
            }
        }