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