示例#1
0
        /// <summary>
        /// 发送消息
        /// </summary>
        /// <param name="host">主机</param>
        /// <param name="remoteEndPoint">远程主机地址</param>
        /// <param name="cmd">命令</param>
        /// <param name="options">选项</param>
        /// <param name="msg">消息</param>
        /// <param name="extMsg">扩展消息</param>
        /// <param name="isBroadCast">是否是广播</param>
        /// <param name="sendCheck">是否需要确认收到</param>
        /// <param name="noAddList">是否忽略到主机列表</param>
        /// <param name="noLog">是否不记录日志</param>
        /// <param name="isAutoRet">是否是自动回复</param>
        /// <param name="isEncrypt">是否是加密信息</param>
        /// <param name="isSecret">是否需要阅读确认</param>
        /// <param name="noPopup">是否不自动弹出</param>
        /// <returns>发出去的消息包编号</returns>
        public ulong SendCommand(Host host, IPEndPoint remoteEndPoint, Consts.Commands cmd, ulong options, string msg, string extMsg, bool isBroadCast, bool sendCheck
                                 , bool noAddList, bool noLog, bool isAutoRet, bool isEncrypt, bool isSecret, bool noPopup)
        {
            if (isBroadCast)
            {
                options |= (ulong)Consts.Cmd_Send_Option.BroadCast;
            }
            if (sendCheck)
            {
                options |= (ulong)Consts.Cmd_Send_Option.SendCheck;
            }
            if (noAddList)
            {
                options |= (ulong)Consts.Cmd_Send_Option.NoAddList;
            }
            if (noLog)
            {
                options |= (ulong)Consts.Cmd_Send_Option.NoLog;
            }
            if (isAutoRet)
            {
                options |= (ulong)Consts.Cmd_Send_Option.AutoRet;
            }
            if (isEncrypt)
            {
                options |= (ulong)Consts.Cmd_All_Option.Encrypt;
            }
            if (isSecret)
            {
                options |= (ulong)Consts.Cmd_Send_Option.Secret;
            }
            if (noPopup)
            {
                options |= (ulong)Consts.Cmd_Send_Option.NoPopup;
            }

            if (sendCheck && host != null)
            {
                return(MessageProxy.SendWithCheck(host, cmd, options, msg, extMsg));
            }
            else
            {
                if (host == null)
                {
                    return(MessageProxy.SendByIp(remoteEndPoint, cmd, options, msg, extMsg));
                }
                else
                {
                    return(MessageProxy.SendWithNoCheck(host, cmd, options, msg, extMsg));
                }
            }
        }
示例#2
0
        public Message(IPEndPoint addr, ulong packagerNumber, string hostName, string userName, Consts.Commands command, ulong options, string message, string extendMessage)
        {
            HostAddr = addr;
            Handled  = false;

            PackageNo     = packagerNumber;
            HostName      = hostName;
            UserName      = userName;
            Command       = command;
            Options       = System.Convert.ToUInt32(options);
            NormalMsg     = message;
            ExtendMessage = extendMessage;
        }
示例#3
0
 /// <summary>
 /// 直接创建一个新的Message对象
 /// </summary>
 /// <param name="host">主机对象</param>
 /// <param name="addr">远程地址</param>
 /// <param name="packagerNumber">端口</param>
 /// <param name="hostName">主机名</param>
 /// <param name="userName">用户名</param>
 /// <param name="command">命令</param>
 /// <param name="options">选项</param>
 /// <param name="message">信息</param>
 /// <param name="extendMessage">扩展信息</param>
 /// <returns></returns>
 public static Message Create(Host host, IPEndPoint addr, ulong packagerNumber, string hostName, string userName, Consts.Commands command, ulong options, string message, string extendMessage)
 {
     return(new Message(addr, packagerNumber, hostName, userName, command, options, message, extendMessage)
     {
         Host = host
     });
 }
示例#4
0
 /// <summary>
 /// 发送消息
 /// </summary>
 /// <param name="remoteEndPoint">远程主机地址</param>
 /// <param name="cmd">命令</param>
 /// <param name="options">选项</param>
 /// <param name="msg">消息</param>
 /// <param name="extMsg">扩展消息</param>
 /// <param name="isBroadCast">是否是广播</param>
 /// <param name="sendCheck">是否需要确认收到</param>
 /// <param name="noAddList">是否忽略到主机列表</param>
 /// <param name="noLog">是否不记录日志</param>
 /// <param name="isAutoRet">是否是自动回复</param>
 /// <param name="isEncrypt">是否是加密信息</param>
 /// <param name="isSecret">是否需要阅读确认</param>
 /// <param name="noPopup">是否不自动弹出</param>
 /// <returns>发出去的消息包编号</returns>
 public ulong SendCommand(IPEndPoint remoteEndPoint, Consts.Commands cmd, ulong options, string msg, string extMsg, bool isBroadCast, bool sendCheck, bool noAddList, bool noLog, bool isAutoRet, bool isEncrypt, bool isSecret, bool noPopup)
 {
     return(SendCommand(null, remoteEndPoint, cmd, options, msg, extMsg, isBroadCast, sendCheck, noAddList, noLog, isAutoRet, isEncrypt, isSecret, noPopup));
 }
示例#5
0
 /// <summary>
 /// 发送消息
 /// </summary>
 /// <param name="host">主机对象</param>
 /// <param name="endPoint">主机地址</param>
 /// <param name="cmd">命令</param>
 /// <param name="options">选项</param>
 /// <param name="msg">消息</param>
 /// <param name="extMsg">扩展消息</param>
 /// <returns>发出去的消息包编号</returns>
 public ulong SendCommand(Host host, IPEndPoint endPoint, Consts.Commands cmd, ulong options, string msg, string extMsg)
 {
     return(SendCommand(host, endPoint, cmd, options, msg, extMsg, false, false, false, false, false, false, false, false));
 }
示例#6
0
 /// <summary>
 /// 发送消息
 /// </summary>
 /// <param name="endPoint">主机地址</param>
 /// <param name="cmd">命令</param>
 /// <param name="options">选项</param>
 /// <param name="msg">消息</param>
 /// <param name="extMsg">扩展消息</param>
 /// <returns>发出去的消息包编号</returns>
 public ulong SendCommand(IPEndPoint endPoint, Consts.Commands cmd, ulong options, string msg, string extMsg)
 {
     return(SendCommand(null, endPoint, cmd, options, msg, extMsg));
 }