/******************************************** * 函数名称:run() * 功能:IPv6路由器组件执行函数 * 参数:无 * 返回值:无 * *****************************************/ public void run() { while (true) { if (Form1.stop) { this.EmptyingQueue(); return; } //-------------------IPv6路由器input端口传输数据----------------// //若input端口不为空 if (this.input_ports != null) { foreach (Input_port input in this.input_ports) { PortDataTransfer(input); //input端口进行数据传输 } } //-------------------有线模块1组件启动执行-------------------// WiredModule wiredM1 = (WiredModule)this.wiredModule1; //step1、有线模块1组件接收数据 wiredM1.ComponentDataReceive(wiredM1); //step2、执行有线模块1数据帧解封装功能 wiredM1.EthernetFrameDecapsulation(); //step3、有线模块1组件output端口传输数据 wiredM1.ComponentDataTransfer(wiredM1); //-------------------缓冲区1组件启动执行-------------------// MyBuffer buf1 = (MyBuffer)this.myBuffer1; //step1、缓冲区1组件接收数据 buf1.ComponentDataReceive(buf1); //step2、执行缓冲区功能 buf1.MessageBuffering(null); //step3、缓冲区1组件output端口传输数据 buf1.ComponentDataTransfer(buf1); //-------------------路由模块组件启动执行-------------------// RouteModule rm = (RouteModule)this.routeModule; //step1、路由模块组件接收数据 rm.ComponentDataReceive(rm); //step2、执行路由模块功能 rm.Routing(); //step3、路由模块组件output端口传输数据 rm.ComponentDataTransfer(rm); //-------------------缓冲区2组件启动执行-------------------// MyBuffer buf2 = (MyBuffer)this.myBuffer2; //step1、缓冲区2组件接收数据 buf2.ComponentDataReceive(buf2); //step2、执行缓冲区功能 buf2.MessageBuffering(null); //step3、缓冲区2组件output端口传输数据 buf2.ComponentDataTransfer(buf2); //-------------------有线模块2组件启动执行-------------------// WiredModule wiredM2 = (WiredModule)this.wiredModule2; //step1、有线模块2组件接收数据 wiredM2.ComponentDataReceive(wiredM2); //step2、执行有线模块2数据帧封装功能 wiredM2.EthernetFrameEncapsulation(dest_address); //step3、有线模块2组件output端口传输数据 wiredM2.ComponentDataTransfer(wiredM2); //----------------IPv6路由器output端口传输数据--------------// //若output端口不为空 if (this.output_ports != null) { foreach (Output_port output in this.output_ports) { PortDataTransfer(output); //output端口进行数据传输 } } } } // public void run()
/******************************************** * 函数名称:run() * 功能:物联网网关组件执行函数 * 参数:无 * 返回值:无 * *****************************************/ public void run() { while (true) { if (Form1.stop) { this.EmptyingQueue(); return; } //-------------------IoT网关input端口传输数据----------------// //若input端口不为空 if (this.input_ports != null) { foreach (Input_port input in this.input_ports) { PortDataTransfer(input); //input端口进行数据传输 } } //-------------------无线模块1组件启动执行-------------------// WirelessModule wm1 = (WirelessModule)this.wirelessModule1; //step1、无线模块1组件接收数据 wm1.ComponentDataReceive(wm1); //step2、执行无线模块1数据帧解封装功能 wm1.FrameDecapsulation(); //step3、无线模块1组件output端口传输数据 wm1.ComponentDataTransfer(wm1); //-------------------无线模块2组件启动执行-------------------// WirelessModule wm2 = (WirelessModule)this.wirelessModule2; //step1、无线模块2组件接收数据 wm2.ComponentDataReceive(wm2); //step2、执行无线模块2数据帧解封装功能 wm2.FrameDecapsulation(); //step3、无线模块2组件output端口传输数据 wm2.ComponentDataTransfer(wm2); //-------------------无线模块3组件启动执行-------------------// WirelessModule wm3 = (WirelessModule)this.wirelessModule3; //step1、无线模块2组件接收数据 wm3.ComponentDataReceive(wm3); //step2、执行无线模块2数据帧解封装功能 wm3.FrameDecapsulation(); //step3、无线模块2组件output端口传输数据 wm3.ComponentDataTransfer(wm3); //-------------------缓冲区1组件启动执行-------------------// MyBuffer buf1 = (MyBuffer)this.myBuffer1; //step1、缓冲区1组件接收数据 buf1.ComponentDataReceive(buf1); //step2、执行缓冲区功能 buf1.MessageBuffering("frame802154"); //step3、缓冲区1组件output端口传输数据 buf1.ComponentDataTransfer(buf1); //-------------------缓冲区2组件启动执行-------------------// MyBuffer buf2 = (MyBuffer)this.myBuffer2; //step1、缓冲区2组件接收数据 buf2.ComponentDataReceive(buf2); //step2、执行缓冲区2功能 buf2.MessageBuffering("frame802154"); //step3、缓冲区2组件output端口传输数据 buf2.ComponentDataTransfer(buf2); //-------------------缓冲区3组件启动执行-------------------// MyBuffer buf3 = (MyBuffer)this.myBuffer3; //step1、缓冲区3组件接收数据 buf3.ComponentDataReceive(buf3); //step2、执行缓冲区3功能 buf3.MessageBuffering("frame802151"); //step3、缓冲区3组件output端口传输数据 buf3.ComponentDataTransfer(buf3); //----------------网络协议转换模块启动执行-----------------// ProtocolConverter pc = (ProtocolConverter)this.protocolConverter; //step1、网络协议转换模块接收数据 pc.ComponentDataReceive(pc); //step2、执行网络协议转换模块功能 pc.ProtocolConversion(); //step3、网络协议转换模块output端口传输数据 pc.ComponentDataTransfer(pc); //-------------------缓冲区4组件启动执行-------------------// MyBuffer buf4 = (MyBuffer)this.myBuffer4; //step1、缓冲区3组件接收数据 buf4.ComponentDataReceive(buf4); //step2、执行缓冲区3功能 buf4.MessageBuffering(null); //step3、缓冲区3组件output端口传输数据 buf4.ComponentDataTransfer(buf4); //-------------------有线模块组件启动执行-------------------// WiredModule wiredM = (WiredModule)wiredModule; //step1、有线模块组件接收数据 wiredM.ComponentDataReceive(wiredM); //step2、执行有线模块组件功能 wiredM.EthernetFrameEncapsulation(dest_address); //step3、有线模块组件output端口传输数据 wiredM.ComponentDataTransfer(wiredM); //----------------IoT网关output端口传输数据--------------// //若output端口不为空 if (this.output_ports != null) { foreach (Output_port output in this.output_ports) { PortDataTransfer(output); //output端口进行数据传输 } } } }// public void run()