コード例 #1
0
        //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());
            }
        }
コード例 #2
0
        //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);
        }
コード例 #3
0
 public MiddlewareTransferPackage(ParamPackage c2cMessagePackage,
                                  ClientDevice sourceDevice,
                                  ClientDevice targetDevice)
 {
     _c2cMessagePackage = c2cMessagePackage;
     _sourceDevice      = sourceDevice;
     _targetDevice      = targetDevice;
 }
コード例 #4
0
        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);
        }
コード例 #5
0
 /// <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));
 }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        //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);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        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);
        }
コード例 #12
0
 /// <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));
 }
コード例 #13
0
 /// <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));
 }