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); }
/// <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"); }
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; } } }
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()))); }
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))); }
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))); }