public void OnNewConnection(string TargetID, IMessageSocketInformation info, out bool AcceptFlag)
        {
            AcceptFlag     = true;
            tempTimeString = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
            info.Info_Description.Add("C.S. Ver.1.0.3.1, RegTime: " + tempTimeString);
            tempMessageControler = new MessageControler(_OnLineTable);
            _ChatMessageManager.addMessageHandler(TargetID, tempMessageControler);
            _OnLineTable.TryAdd(TargetID, tempMessageControler);

            Console.WriteLine("=============================================================");
            Console.WriteLine("Client NewConnection ID: " + TargetID);
            Console.WriteLine("Register Time: " + tempTimeString);
            Console.WriteLine("-------------------------------------------------------------");
            Console.WriteLine("OnLine List:");
            foreach (KeyValuePair <string, MessageControler> controler in _OnLineTable)
            {
                Console.WriteLine(controler.Key);
            }
            Task.Run(() =>
            {
                ChartMessageContract tempContract = new ChartMessageContract();
                string tempTime          = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                List <string> onLineList = new List <string>();
                foreach (KeyValuePair <string, MessageControler> controler in _OnLineTable)
                {
                    onLineList.Add(controler.Key);
                }

                foreach (KeyValuePair <string, MessageControler> controler in _OnLineTable)
                {
                    if (controler.Value.IsSendAvailable)
                    {
                        tempContract.UserOnlineLists   = onLineList;
                        tempContract.ServerMessageTime = tempTime;
                        tempContract.RecvMessage       = "Server: \"" + TargetID + "\" is online.";
                        controler.Value.SendMessage(SerializeUtility.Serialize(tempContract));
                    }
                }
            });
            Console.WriteLine("=============================================================");
        }
        public void OnConnectionDisconnected(string TargetID, IMessageSocketInformation info)
        {
            MessageControler temp = null;

            _ChatMessageManager.removeMessageHandler(TargetID);
            _OnLineTable.TryRemove(TargetID, out temp);

            Console.WriteLine("=============================================================");
            Console.WriteLine("Client Disconnected ID: " + TargetID);
            Console.WriteLine("-------------------------------------------------------------");
            Console.WriteLine("OnLine List:");
            foreach (KeyValuePair <string, MessageControler> controler in _OnLineTable)
            {
                Console.WriteLine(controler.Key);
            }
            Task.Run(() =>
            {
                ChartMessageContract tempContract = new ChartMessageContract();
                string tempTime          = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                List <string> onLineList = new List <string>();
                foreach (KeyValuePair <string, MessageControler> controler in _OnLineTable)
                {
                    onLineList.Add(controler.Key);
                }

                foreach (KeyValuePair <string, MessageControler> controler in _OnLineTable)
                {
                    if (controler.Value.IsSendAvailable)
                    {
                        tempContract.UserOnlineLists   = onLineList;
                        tempContract.ServerMessageTime = tempTime;
                        tempContract.RecvMessage       = "Server: \"" + TargetID + "\" is offline.";
                        controler.Value.SendMessage(SerializeUtility.Serialize(tempContract));
                    }
                }
            });
            Console.WriteLine("=============================================================");
        }