Esempio n. 1
0
        public bool SendMsg(string Name, string Msg, QcProtocol.QcCommand cmd = QcProtocol.QcCommand.QcMsg)
        {
            //发送消息到用户
            QcMsgUser user = null;

            if (lstUser.TryGetValue(Name, out user))
            {
                if (user.Send(QcCmd.MakeCmd(cmd, User.Name, Name, Msg)))
                {
                    return(true);
                }
            }
            //存储消息到缓存组
            return(false);
        }
Esempio n. 2
0
        /// <summary>
        ///  生成一条消息
        /// </summary>
        /// <param name="msgtype">消息类别</param>
        /// <param name="args">消息参数</param>
        /// <returns>构建的消息字符串</returns>
        public static string MakeCmd(QcProtocol.QcCommand msgtype, params object[] args)
        {
            string strReturn = "";

            foreach (object o in args)
            {
                if (o != null)
                {
                    strReturn += "\a" + o.ToString();
                }
                else
                {
                    strReturn += "\a" + "";
                }
            }
            return(msgtype.ToString("D") + strReturn + "\a\0");
        }
Esempio n. 3
0
 public QcCmd(string str)
 {
     if (str == null)
     {
         CmdType = QcProtocol.QcCommand.Undefine;
     }
     else
     {
         m_tokens = str.Split(new Char[] { '\a' });
         try
         {
             CmdType = (QcProtocol.QcCommand)Convert.ToInt32(m_tokens[0]);
         }
         catch
         {
             CmdType = QcProtocol.QcCommand.Undefine;
         }
     }
 }
Esempio n. 4
0
 public bool SendMsg(string Name, string Msg, QcProtocol.QcCommand cmd = QcProtocol.QcCommand.QcMsg)
 {
     /*
      * //发送消息到用户
      * QcMsgUser user =null;
      * if(lstUser.TryGetValue(Name,out user))
      * {
      *  if(user.Send(QcCmd.MakeCmd(cmd,User.Name,Name,Msg,DateTime.Now.ToString() )))
      *  {
      *      return true;
      *  }
      * }
      * return false;
      * //存储消息到缓存组
      * */
     if (client == null)
     {
         return(false);
     }
     return(client.Send(QcCmd.MakeCmd(cmd, QcUser.User.Name, Name, Msg, DateTime.Now.ToString())));
 }
Esempio n. 5
0
        public bool SendSystemMsg(string ID, string DestUser, string Msg)
        {
            QcProtocol.QcCommand cmd = QcProtocol.QcCommand.QcSystemMsg;
            //发送消息到用户

            /*QcMsgUser user =null;
             * if(lstUser.TryGetValue(DestUser,out user))
             * {
             *  if (user.Send(QcCmd.MakeCmd(cmd, User.Name, DestUser,Msg, DateTime.Now.ToString(), ID)))
             *  {
             *      return true;
             *  }
             * }
             * return false
             * //存储消息到缓存组
             * */
            //直接发送给服务器,服务器负责转发
            if (client == null)
            {
                return(false);
            }
            return(client.Send(QcCmd.MakeCmd(cmd, QcUser.User.Name, DestUser, Msg, DateTime.Now.ToString(), ID)));
        }
Esempio n. 6
0
 public static bool PostSystemMsg(string ID, string DestUser, string Msg)
 {
     QcProtocol.QcCommand cmd = QcProtocol.QcCommand.QcSystemMsg;
     return(PostMessage(QcCmd.MakeCmd(cmd, "*", DestUser, Msg, DateTime.Now.ToString(), ID)));
 }