Ejemplo n.º 1
0
        public void ConversationSendAndReceive()
        {
            IPEndPoint initiatorEndpoint = new IPEndPoint(IPAddress.Loopback, 6789);
            IPEndPoint responderEndpoint = new IPEndPoint(IPAddress.Loopback, 6788);

            UdpTransport initiatorCommunicator = new UdpTransport(initiatorEndpoint.Port);
            UdpTransport responderCommunicator = new UdpTransport(responderEndpoint.Port);

            SimpleRequestReplyInitiator convInitiator = new SimpleRequestReplyInitiator(initiatorCommunicator, responderEndpoint);
            SimpleRequestReplyResponder convResponder = new SimpleRequestReplyResponder(responderCommunicator);

            Assert.AreNotEqual(convResponder.Id, convInitiator.Id);
            Assert.IsFalse(ConversationManager.ConversationDictionary.ContainsKey(convInitiator.Id));
            Assert.IsFalse(ConversationManager.ConversationDictionary.ContainsKey(convResponder.Id));
            Assert.IsFalse(convResponder.IsActive);
            Assert.IsFalse(convInitiator.IsActive);

            convResponder.Start();
            convInitiator.Start();

            Thread.Sleep(5000);
            Assert.IsTrue(convResponder.IsActive);
            Assert.IsTrue(convInitiator.IsActive);
            Assert.IsNotNull(convInitiator.SentMessage);
            Assert.IsNotNull(convResponder.ReceivedMessage);
            Assert.AreNotEqual(convResponder.ReceivedMessages.Count, 0);

            Thread.Sleep(5000);
            Assert.IsNotNull(convResponder.SentMessage);
            Assert.IsNotNull(convInitiator.ReceivedMessage);
            Assert.AreNotEqual(convInitiator.ReceivedMessages.Count, 0);
        }
Ejemplo n.º 2
0
        public void TestConversationNoCommunicator()
        {
            SimpleRequestReplyInitiator simple = new SimpleRequestReplyInitiator();

            Assert.IsNotNull(simple);
            Assert.IsNull(simple.EventResponse);
            Assert.IsNull(simple.SentMessage);
            Assert.IsNotNull(simple.Properties);

            ConversationManager.PrimaryCommunicator = null;

            Assert.AreEqual(simple.Id.Pid, 0);
            Assert.AreEqual(simple.MaxRetries, (uint)5);
            Assert.AreEqual(simple.Timeout, 2000);

            simple.Start();
            Thread.Sleep(250);
            Assert.IsTrue(simple.IsActive);
            simple.Stop();
            Thread.Sleep(250);
            Assert.IsFalse(simple.IsActive);
        }