Exemplo n.º 1
0
 public void sendMsg()
 {
     if (inputBox.ForeColor != Color.Gray || inputBox.Text != "")
     {
         textMessage message = new textMessage();
         message.content  = inputBox.Text;
         message.target   = (int)targetUserID;
         message.sendUser = publicClass.mainUser.id;
         message.sendTime = DateTime.Now;
         AddMessage(message);
         if (publicClass.myChat.ContainsKey(message.target))
         {
             publicClass.myChat[message.target].addMessage(message);
         }
         else
         {
             singleChatSession chatSession = new singleChatSession(message.target);
             chatSession.addMessage(message);
             publicClass.myChat.Add(message.target, chatSession);
         }
         string sendMessage = JsonConvert.SerializeObject(new command()
         {
             data = message, type = 1, subType = "singleChatTextMessage", res = ""
         });                                                                                                                                       //序列化
         publicClass.cSocket.sendSysMsg(sendMessage, 0);
     }
 }
Exemplo n.º 2
0
        public void AddMessage(textMessage message)
        {
            groupChatMessageBox.SelectionFont   = new Font("黑体", 9, FontStyle.Bold);
            groupChatMessageBox.SelectionColor  = System.Drawing.Color.Purple;
            groupChatMessageBox.SelectionIndent = 2;
            groupChatMessageBox.SelectionBullet = true;
            groupChatMessageBox.AppendText(publicClass.onlineUserList.Find(s => s.id == message.sendUser).userName + "  [" + message.sendTime + "]\r\n");

            groupChatMessageBox.SelectionFont   = new Font("宋体", 9, FontStyle.Regular);
            groupChatMessageBox.SelectionColor  = System.Drawing.Color.Black;
            groupChatMessageBox.SelectionIndent = 19;
            groupChatMessageBox.SelectionBullet = false;
            groupChatMessageBox.AppendText(((textMessage)message).content + "\r\n");
        }
Exemplo n.º 3
0
        //群聊文本信息解析
        public static void decodeGroupTextMessageDraw(command cComand)
        {
            JObject     data    = (JObject)cComand.data;                //转化为Jobject
            textMessage message = data["msg"].ToObject <textMessage>(); //获取消息类

            foreach (group i in groupList)
            {
                if (i.id == message.target)
                {
                    i.addMessage(message);
                }
            }
            if (g1 == null)
            {
                m1.Invoke(new Action(() =>
                {
                    m1.userHeadTwinkle((uint)message.sendUser, 1);
                }));
            }
            else if (g1.groupID != (uint)message.target)
            {
                m1.Invoke(new Action(() =>
                {
                    m1.userHeadTwinkle((uint)message.sendUser, 1);
                }));
            }
            else if (g1.groupID == (uint)message.target)
            {
                if (g1.IsDisposed)
                {
                    m1.Invoke(new Action(() =>
                    {
                        m1.userHeadTwinkle((uint)message.sendUser, 1);
                    }));
                }
                else
                {
                    g1.Invoke(new Action(() =>
                    {
                        g1.AddMessage(message);
                    }));
                }
            }
        }
Exemplo n.º 4
0
 public void sendMsg()
 {
     if (inputBox.ForeColor != Color.Gray && inputBox.Text != "")
     {
         textMessage message = new textMessage();
         message.content  = inputBox.Text;
         message.target   = (int)groupID;
         message.sendUser = publicClass.mainUser.id;
         AddMessage(message);
         foreach (group i in publicClass.groupList)
         {
             if (i.id == groupID)
             {
                 i.addMessage(message);
                 break;
             }
         }
         string sendMessage = JsonConvert.SerializeObject(new command()
         {
             data = message, type = 0, subType = "groupChatTextMessage", res = ""
         });                                                                                                                                      //序列化
         publicClass.cSocket.sendSysMsg(sendMessage, 0);
     }
 }
Exemplo n.º 5
0
 //添加一条聊天记录,可以是文字,图片,文件
 public void addMessage(textMessage message)
 {
     messageList.Add(message);//添加到数组末尾
 }
Exemplo n.º 6
0
        //单聊文本信息解析
        public static void decodeSingleTextMessageDraw(command cComand)
        {
            JObject     data    = (JObject)cComand.data;         //转化为Jobject
            textMessage message = data.ToObject <textMessage>(); //获取消息类

            if (!myChat.ContainsKey(message.sendUser))
            {
                singleChatSession chatSession = new singleChatSession(message.sendUser);
                chatSession.addMessage(message);
                myChat.Add(message.sendUser, chatSession);
                if (s1 == null)
                {
                    m1.Invoke(new Action(() =>
                    {
                        m1.userHeadTwinkle((uint)message.sendUser, 0);
                    }));
                }
                else if (s1.targetUserID != (uint)message.sendUser)
                {
                    m1.Invoke(new Action(() =>
                    {
                        m1.userHeadTwinkle((uint)message.sendUser, 0);
                    }));
                }
                else if (s1.targetUserID == (uint)message.sendUser)
                {
                    if (s1.IsDisposed)
                    {
                        m1.Invoke(new Action(() =>
                        {
                            m1.userHeadTwinkle((uint)message.sendUser, 0);
                        }));
                    }
                    else
                    {
                        s1.Invoke(new Action(() =>
                        {
                            s1.AddMessage(message);
                        }));
                    }
                }
            }
            else
            {
                myChat[message.sendUser].addMessage(message);
                if (s1 == null)
                {
                    m1.Invoke(new Action(() =>
                    {
                        m1.userHeadTwinkle((uint)message.sendUser, 0);
                    }));
                }
                else if (s1.targetUserID != (uint)message.sendUser)
                {
                    m1.Invoke(new Action(() =>
                    {
                        m1.userHeadTwinkle((uint)message.sendUser, 0);
                    }));
                }
                else if (s1.targetUserID == (uint)message.sendUser)
                {
                    if (s1.IsDisposed)
                    {
                        m1.Invoke(new Action(() =>
                        {
                            m1.userHeadTwinkle((uint)message.sendUser, 0);
                        }));
                    }
                    else
                    {
                        s1.Invoke(new Action(() =>
                        {
                            s1.AddMessage(message);
                        }));
                    }
                }
            }
        }