Ejemplo n.º 1
0
        public void ExecuteUdpUnitTest0()
        {
            logger.Info(">>");
            logger.Info("Program started");

            //create utility bus
            Niawa.Utilities.UtilsServiceBus utilsBus = new Niawa.Utilities.UtilsServiceBus();

            //set up ipc logging
            Niawa.MsEventIpcEventAdapter.MsEventIpcEventWriter evtWriter = new Niawa.MsEventIpcEventAdapter.MsEventIpcEventWriter(utilsBus);
            evtWriter.Start();
            evtWriter.AddIpcEventWriter(Niawa.IpcController.IpcFactory.CreateIpcEventWriter("Niawa.NetControllerTestClient", true, "UdpReceiver", utilsBus), "UdpReceiver");
            //evtWriter.AddIpcEventWriter(Niawa.IpcController.IpcFactory.CreateIpcEventWriter("Niawa.NetControllerTestClient", true, "TcpReceiverMsg", utilsBus), "TcpReceiverMsg");
            evtWriter.AddIpcEventWriter(Niawa.IpcController.IpcFactory.CreateIpcEventWriter("Niawa.NetControllerTestClient", true, "UdpTransmitter", utilsBus), "UdpTransmitter");
            //evtWriter.AddIpcEventWriter(Niawa.IpcController.IpcFactory.CreateIpcEventWriter("Niawa.NetControllerTestClient", true, "TcpTransmitterMsg", utilsBus), "TcpTransmitterMsg");

            logger.Info("Test transmitter");
            Niawa.NetController.UdpTransmitter transmitter = new Niawa.NetController.UdpTransmitter(5001, evtWriter.EvtConsumer, utilsBus, "TestApp.TestClient", null);

            transmitter.StartTransmitting("TestClient");
            System.Threading.Thread.Sleep(1500);

            //send test message
            transmitter.SendMessage(new NetController.NiawaNetDatagram(Niawa.Utilities.NetUtils.FindLanAddress().ToString(), 5001, Guid.NewGuid(), "testHost", "testApp", "testMsgType", "testMsg contents 1"));
            System.Threading.Thread.Sleep(500);

            transmitter.SuspendTransmitting("TestClient");
            System.Threading.Thread.Sleep(1500);

            transmitter.ResumeTransmitting("TestClient");
            System.Threading.Thread.Sleep(1500);

            logger.Info("Test receiver");
            Niawa.NetController.UdpReceiver receiver = new Niawa.NetController.UdpReceiver(5001, evtWriter.EvtConsumer, utilsBus, "TestApp.TestClient", null, true, transmitter);

            receiver.StartListening("TestClient");
            System.Threading.Thread.Sleep(1500);

            receiver.SuspendListening("TestClient");
            System.Threading.Thread.Sleep(1500);

            receiver.ResumeListening("TestClient");
            System.Threading.Thread.Sleep(1500);

            //send test message
            transmitter.SendMessage(new NetController.NiawaNetDatagram(Niawa.Utilities.NetUtils.FindLanAddress().ToString(), 5001, Guid.NewGuid(), "testHost", "testApp", "testMsgType", "testMsg contents 1"));
            System.Threading.Thread.Sleep(500);

            System.Threading.Thread.Sleep(3000);

            transmitter.StopTransmitting("TestClient", false);
            System.Threading.Thread.Sleep(1000);

            receiver.StopListening("TestClient", false);
            System.Threading.Thread.Sleep(1000);

            logger.Info("Program stopped <<");
        }