예제 #1
0
        /********************************************
         * 函数名称:run()
         * 功能:医疗服务器组件执行函数
         * 参数:无
         * 返回值:无
         * *****************************************/
        public void run()
        {
            while (true)
            {
                if (Form1.stop)
                {
                    this.EmptyingQueue();
                    return;
                }

                //-------------------医疗服务器input端口传输数据----------------//
                //若input端口不为空
                if (this.input_ports != null)
                {
                    foreach (Input_port input in this.input_ports)
                    {
                        PortDataTransfer(input); //input端口进行数据传输
                    }
                }

                //-------------------有线模块组件启动执行-------------------//
                WiredModule wiredM = (WiredModule)this.wiredModule;
                //step1、有线模块组件接收数据
                wiredM.ComponentDataReceive(wiredM);
                //step2、执行有线模块数据帧解封装功能
                wiredM.EthernetFrameDecapsulation();
                //step3、有线模块组件output端口传输数据
                wiredM.ComponentDataTransfer(wiredM);

                //--------------------缓冲区组件启动执行--------------------//
                MyBuffer buf = (MyBuffer)this.myBuffer;
                //step1、缓冲区组件接收数据
                buf.ComponentDataReceive(buf);
                //step2、执行缓冲区功能
                buf.MessageBuffering(null);
                //step3、缓冲区1组件output端口传输数据
                buf.ComponentDataTransfer(buf);

                //---------------网络数据处理模块组件启动执行--------------//
                DataProcessor dp = (DataProcessor)this.dataProcessor;
                //step1、网络数据处理模块接收数据
                dp.ComponentDataReceive(dp);
                //step2、执行网络数据处理模块功能
                dp.NetworkDataProcessing();
                //step3、网络数据处理模块output端口传输数据
                dp.ComponentDataTransfer(dp);

                //----------------信息分析控制模块启动执行------------------//
                DataAnalyzer da = (DataAnalyzer)this.dataAnalyzer;
                //step1、信息分析控制模块接收数据
                da.ComponentDataReceive(da);
                //step2、执行信息分析控制模块功能
                da.DataAnalysis();
                //step3、信息分析控制模块output端口传输数据
                da.ComponentDataTransfer(da);

                //----------------医疗服务器output端口传输数据--------------//
                //若output端口不为空
                if (this.output_ports != null)
                {
                    foreach (Output_port output in this.output_ports)
                    {
                        PortDataTransfer(output); //output端口进行数据传输
                    }
                }
            }
        }// public void run()