private void button_Login_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBox_Name.Text)) { MessageBox.Show("Input your name!"); return; } manager = new MessageSocketManager(textBox_Name.Text, this); manager.addMessageHandler(ServerID, ClientMessageControler); manager.Connect(new IPHostEndPoint(Server_IP, Server_Port), null); }
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("============================================================="); }