コード例 #1
0
        /// <summary>
        /// 监听
        /// </summary>
        public void begin()
        {
            while (true)
            {
                if (!ConsolePlusLib.Core.Server.UserQuitFlag)
                {
                    return;
                }

                try
                {
                    for (int i = 0; i < ConsolePlusLib.Console.Server.getOnlineUsers().Count; i++)
                    {
                        ConsolePlusLib.Senders.User user = ConsolePlusLib.Console.Server.getOnlineUsers()[i];

                        if (!this.isConnecting(user.getClient()))
                        {
                            UserQuitArg arguments = new UserQuitArg(user);

                            if (UserQuitEvent != null)
                            {
                                UserQuitEvent(this, arguments);
                            }

                            ConsolePlusLib.Console.Server.getHandler().reciveMessageEnd(user);
                            ConsolePlusLib.Console.Out.println((user.getPrefix() == null ? "" : user.getPrefix()) + "<" + (user.getName() == null ? user.getIP() + ":" + user.getPort() : user.getName()) + ">" + "下线了!");
                            ConsolePlusLib.Console.Server.getOnlineUsers().Remove(user);
                        }
                    }
                }
                catch (Exception)
                {
                }
            }
        }