//SynSendRequest private void button7_Click(object sender, EventArgs e) { ParamPackage packageSended = PackMessage(); ClientDevice targetClient = null; foreach (ClientDevice item in clientDeviceList) { if (item.Detail == comboBox12.SelectedItem.ToString()) { targetClient = item; } } string commuicateName = this.comboBox9.SelectedItem.ToString(); RequestCommunicatePackage requestCommunicatePackage = localDevice.CreateRequestCommunicatePackage(commuicateName, (CommunicatType)comboBox11.SelectedItem, packageSended, targetClient, checkBox1.Checked, asynReponseHandler); try { localDevice.SynSendRequest(requestCommunicatePackage, int.Parse(this.textBox4.Text)); } catch (System.Exception ex) { Console.WriteLine(ex.ToString()); } ReplyPackage replyPkg = requestCommunicatePackage.ResponsePackage; if (null != replyPkg) { //List<string> list = replyPkg.Values<string>("value"); string replyString = replyPkg.ReplyState.ToString(); Console.WriteLine(replyString.ToString()); } }
//AsynFeedback private void button10_Click(object sender, EventArgs e) { ParamPackage packageSended = PackMessage(); ReplyCommunicatePackage replyCommunicatePackage = localDevice.CreateReplyCommunicatePackage(requestPackage, (ReplyPackage.Middleware_ReplyInfo)comboBox13.SelectedItem, packageSended); localDevice.AsynFeedbackCommunicateReplyMessage(replyCommunicatePackage); }
public MiddlewareTransferPackage(ParamPackage c2cMessagePackage, ClientDevice sourceDevice, ClientDevice targetDevice) { _c2cMessagePackage = c2cMessagePackage; _sourceDevice = sourceDevice; _targetDevice = targetDevice; }
protected GroupComunicatePackage CoCreateGroupCommunicatePackage(string radioName, ParamPackage radioParamPkg, GroupDevice targetGroup) { GroupComunicatePackage gropCommunicatPkg = new GroupComunicatePackage(); gropCommunicatPkg.CommunicationName = radioName; gropCommunicatPkg.ParamPackage = radioParamPkg; gropCommunicatPkg.TargetDevice = targetGroup; gropCommunicatPkg.WaitResponse = false; return(gropCommunicatPkg); }
/// <summary> /// 创建一个请求通讯包 /// </summary> /// <param name="communicateName">请求的名称</param> /// <param name="communicateType">请求执行的网络类型</param> /// <param name="reqtParamPkg">携带的参数属性包</param> /// <param name="targetDevice">目的设备</param> /// <param name="waitResponse">是否等待应答</param> /// <param name="callback">在异步情形下,收到应答后的通知事件</param> /// <returns></returns> public RequestCommunicatePackage CreateRequestCommunicatePackage(string communicationName, CommunicatType communicateType, ParamPackage reqtParamPkg, ClientDevice targetDevice, bool waitResponse, AsynReponseHandler callback) { return(base.CoCreateRequestCommunicatePackage(communicationName, communicateType, reqtParamPkg, targetDevice, waitResponse, callback)); }
protected RequestCommunicatePackage CoCreateRequestCommunicatePackage(string communicationName, CommunicatType communicateType, ParamPackage reqtParamPkg, ClientDevice targetDevice, bool waitResponse, AsynReponseHandler callback) { RequestCommunicatePackage reqtPkg = new RequestCommunicatePackage(); reqtPkg.CommunicationName = communicationName; reqtPkg.CommunicateType = communicateType; reqtPkg.ParamPackage = reqtParamPkg; reqtPkg.TargetDevice = targetDevice; reqtPkg.WaitResponse = waitResponse; reqtPkg.AsynchronousReponseCame = callback; return(reqtPkg); }
private void __PerRadio_Elapsed(object sender, EventArgs e) { ParamPackage packageSended = PackMessage(); GroupDevice targetGroup = null; foreach (GroupDevice item in groupDeviceList) { if (item.Detail == comboBox14.SelectedItem.ToString()) { targetGroup = item; } } string radioOp = this.comboBox8.SelectedItem.ToString(); GroupComunicatePackage groupComunicatePackage = localDevice.CreateRadioCommunicatePackage(radioOp, packageSended, targetGroup); localDevice.Radio(groupComunicatePackage); }
//AsynSendRequest private void button6_Click(object sender, EventArgs e) { ParamPackage packageSended = PackMessage(); ClientDevice targetClient = null; foreach (ClientDevice item in clientDeviceList) { if (item.Detail == comboBox12.SelectedItem.ToString()) { targetClient = item; } } string radioOp = this.comboBox8.SelectedItem.ToString(); string commuicateName = this.comboBox9.SelectedItem.ToString(); RequestCommunicatePackage requestCommunicatePackage = localDevice.CreateRequestCommunicatePackage(commuicateName, (CommunicatType)comboBox11.SelectedItem, packageSended, targetClient, checkBox1.Checked, asynReponseHandler); localDevice.AsynSendRequest(requestCommunicatePackage); }
private void RequestPackage_Received(RequestPackage p) { //requestPackage = p; //string[] receivedDetails = new string[p.ParamDefalutValues.Values.Count]; ////List<System.Int64> retList = p.Values<System.Int64>("value"); ////Console.WriteLine(retList.ToString()); //p.ParamDefalutValues.Values.CopyTo(receivedDetails, 0); //string log = ""; //log = "From device: " + p.SourDevice.Detail + "\n" + "OperatName: " + p.OperatName + "\n" + "Message: " + receivedDetails[0]; //this.richTextBox1.Text = log; ParamPackage parm = new ParamPackage("x86-reply", new Dictionary <string, byte[]>()); parm.ParamDefalutValues.Add("value", Encoding.UTF8.GetBytes("x86-reply")); ReplyCommunicatePackage replyPkg = localDevice.CreateReplyCommunicatePackage(p, ReplyPackage.Middleware_ReplyInfo.S_OK, parm); localDevice.AsynFeedbackCommunicateReplyMessage(replyPkg); }
ParamPackage PackMessage() { sendTypeTable.Clear(); sendDefaultValues.Clear(); sendDescriptions.Clear(); List <string> _wilSendList = new List <string>(); _wilSendList.Add(messageSended); sendDefaultValues.Add("value", Encoding.UTF8.GetBytes(messageSended)); //System.Xml.XmlDocument wilSendInfo = new System.Xml.XmlDocument(); //sendDefaultValues.Add("xml", wilSendInfo); //List<object> _wilSendList2 = new List<object>(); //_wilSendList2.Add(wilSendInfo); //sendDefaultValues.Add("objects", _wilSendList2); //sendTypeTable.Add("value", typeof(int)); //sendDefaultValues.Add("value", 123); paramPackage = new ParamPackage("param", sendDefaultValues); return(paramPackage); }
protected ReplyCommunicatePackage CoCreateReplyCommunicatePackage(RequestPackage reqtPkg, ReplyPackage.Middleware_ReplyInfo statCodec, ParamPackage paramspkg) { ReplyCommunicatePackage replyCommunicatePkg = new ReplyCommunicatePackage(); replyCommunicatePkg.RemotReqtPkg = reqtPkg; replyCommunicatePkg.RemotRet = statCodec; replyCommunicatePkg.ParamPackage = paramspkg; return(replyCommunicatePkg); }
/// <summary> /// 创建一个群组通讯包 /// </summary> /// <param name="radioName">广播通讯的名称</param> /// <param name="radioParamPkg">携带的参数属性包</param> /// <param name="targetGroup">目的群组</param> /// <returns>返回创建完毕的通讯包</returns> public GroupComunicatePackage CreateRadioCommunicatePackage(string radioName, ParamPackage radioParamPkg, GroupDevice targetGroup) { return(base.CoCreateGroupCommunicatePackage(radioName, radioParamPkg, targetGroup)); }
/// <summary> /// 创建一个应答通讯包 /// </summary> /// <param name="reqtPkg">匹配的远程请求</param> /// <param name="statCodec">远程请求的执行结果反馈码</param> /// <param name="paramspkg">携带的参数属性包</param> /// <returns>应答通讯包</returns> public ReplyCommunicatePackage CreateReplyCommunicatePackage(RequestPackage reqtPkg, ReplyPackage.Middleware_ReplyInfo statCodec, ParamPackage paramspkg) { return(base.CoCreateReplyCommunicatePackage(reqtPkg, statCodec, paramspkg)); }