Esempio n. 1
0
        private void btnStartServer_Click(object sender, EventArgs e)
        {
            btnStartServer.Enabled = false;
            String ip      = mtbIP.Text.Trim().Replace(" ", "");
            String portStr = tbPort.Text.Trim();

            if (Util.checkIP(ip, portStr))
            {
                try
                {
                    msg = new MsgCtrl(ip, Int32.Parse(portStr), 0);
                }catch (Exception ex)
                {
                    MessageBox.Show("请输入有效IP");
                    return;
                }
                ThreadStart st = new ThreadStart(listenMsg);
                Util.newThread(st);

                btnSendMsg.Enabled = true;
            }
            else
            {
                MessageBox.Show("请输入有效地址和端口");
            }
        }
Esempio n. 2
0
        public void RBYAX()
        {
            // Arrange
            string order = "";

            void Receive(ExampleMsg message)
            {
                order += "a";
            }

            void ReceiveTwo(ExampleMsg message)
            {
                order += "b";
                MsgCtrl.Consume();
            }

            // Act
            MsgCtrl.Bind <ExampleMsg>(Receive, 10);
            MsgCtrl.Bind <ExampleMsg>(ReceiveTwo, -10);

            ExampleMsg msg = MsgCtrl.Allocate <ExampleMsg>();

            MsgCtrl.Send(msg);

            // Assert
            Assert.AreEqual("b", order);
        }
Esempio n. 3
0
        private void btnStartServer_Click(object sender, EventArgs e)
        {
            btnStartServer.Enabled = false;
            String ip      = mtbIP.Text.Trim().Replace(" ", "");
            String portStr = tbIP.Text.Trim();

            if (Util.checkIP(ip, portStr))
            {
                msg = new MsgCtrl(ip, Int32.Parse(portStr), 1);
                msg.sendMsg("客户端连接", Util.SYSCONN);
                try
                {
                    String[] temp = msg.reciveMsg();
                }catch (Exception ex)
                {
                    MessageBox.Show("连接不到指定服务器");
                    btnStartServer.Enabled = true;
                    msg.Close();
                    return;
                }
                btnSend.Enabled    = true;
                btnSendMsg.Enabled = true;

                ThreadStart ts = new ThreadStart(listenMsg);
                Util.newThread(ts);
            }
            else
            {
                MessageBox.Show("请输入有效地址和端口");
            }
        }
Esempio n. 4
0
        public void ZSKML()
        {
            // Arrange
            int    receivedInt    = 0;
            float  receivedFloat  = 0;
            string receivedString = null;
            object receivedObject = null;

            void Receive(ExampleMsg message)
            {
                MsgCtrl.Bind <ExampleMsg>(ReceiveTwo);
            }

            void ReceiveTwo(ExampleMsg message)
            {
                receivedInt    = message.Int;
                receivedFloat  = message.Float;
                receivedString = message.String;
                receivedObject = message.Object;
            }

            object objectToReceive = new object();

            // Act
            MsgCtrl.Bind <ExampleMsg>(Receive);

            ExampleMsg msg = MsgCtrl.Allocate <ExampleMsg>();

            msg.Int    = 10;
            msg.Float  = 10.5f;
            msg.String = "Test";
            msg.Object = objectToReceive;
            MsgCtrl.Send(msg);

            // Assert
            Assert.Multiple(() =>
            {
                Assert.AreEqual(0, receivedInt);
                Assert.AreEqual(0f, receivedFloat);
                Assert.IsNull(receivedString);
                Assert.IsNull(receivedObject);
            });

            // Act
            msg        = MsgCtrl.Allocate <ExampleMsg>();
            msg.Int    = 10;
            msg.Float  = 10.5f;
            msg.String = "Test";
            msg.Object = objectToReceive;
            MsgCtrl.Send(msg);

            // Assert
            Assert.Multiple(() =>
            {
                Assert.AreEqual(10, receivedInt);
                Assert.AreEqual(10.5f, receivedFloat);
                Assert.AreEqual("Test", receivedString);
                Assert.AreEqual(objectToReceive, receivedObject);
            });
        }
Esempio n. 5
0
        public void YZDMS()
        {
            // Arrange
            AttributeTest attributeTest = new AttributeTest();

            // Act
            ExampleMsg msg = MsgCtrl.Allocate <ExampleMsg>();

            MsgCtrl.Send(msg);

            // Assert
            Assert.AreEqual(1, attributeTest.ReceivedMessages);
        }
Esempio n. 6
0
        public void DEZSX()
        {
            // Arrange
            AttributeTest attributeTest = new AttributeTest();

            // Act
            attributeTest.Unregister();
            ExampleMsg msg = MsgCtrl.Allocate <ExampleMsg>();

            MsgCtrl.Send(msg);

            // Assert
            Assert.AreEqual(0, attributeTest.ReceivedMessages);
        }
Esempio n. 7
0
        public void PDRDZ()
        {
            // Arrange
            void Receive(ExampleMsg message)
            {
            }

            MsgCtrl.Bind <ExampleMsg>(Receive);

            // Act
            ExampleMsg msg = MsgCtrl.Allocate <ExampleMsg>();

            // Assert
            Assert.AreEqual(0, MessagesPool <ExampleMsg> .NumberOfFreeMessages);

            // Act
            MsgCtrl.Deallocate(msg);

            // Assert
            Assert.AreEqual(1, MessagesPool <ExampleMsg> .NumberOfFreeMessages);
        }
Esempio n. 8
0
 public void Setup()
 {
     MsgCtrl.Clear();
 }
Esempio n. 9
0
 public void Unregister()
 {
     MsgCtrl.Unregister(this);
 }
Esempio n. 10
0
 public AttributeTest()
 {
     MsgCtrl.Register(this);
 }