예제 #1
0
        public void RegistryServerConversations()
        {
            ConversationFactory f;

            f = new RegistryServerConversationFactory();
            HeartbeatInitiator registeredEndpointHeartbeat = f.CreateFromConversationType <HeartbeatInitiator>();

            Assert.IsNotNull(f);
            f.Initialize();

            // Test Register Server Initiated Conversations
            HeartbeatInitiator test1 = f.CreateFromConversationType <HeartbeatInitiator>();

            Assert.IsNotNull(test1);
            test1.RemoteEndPoint = testEndpoint;
            test1.Launch();
            Assert.AreEqual(test1.RemoteEndPoint, testEndpoint);

            // Test Responder Conversations
            Envelope env1 = new Envelope();

            env1.Message = new RegisterServerRequest(new Server());
            Responder resp1 = f.CreateFromEnvelope(env1);

            Assert.IsNotNull(resp1);
            Assert.AreEqual(resp1.ConversationId.ToString(), env1.Message.ConversationId.ToString());
        }
예제 #2
0
 private void Run()
 {
     while (true)
     {
         if (EndPoint != null)
         {
             HeartbeatInitiator c = Factory.CreateFromConversationType <HeartbeatInitiator>();
             c.RemoteEndPoint = EndPoint;
             c.Launch();
         }
         Thread.Sleep(10000);
     }
 }
예제 #3
0
        public void ChatServerConversations()
        {
            ChatServerConversationFactory f;

            f = new ChatServerConversationFactory();
            Assert.IsNotNull(f);
            f.Initialize();

            // Test process initiator conversations
            HeartbeatInitiator test1 = f.CreateFromConversationType <HeartbeatInitiator>();

            Assert.IsNotNull(test1);
            test1.RemoteEndPoint = testEndpoint;
            test1.Launch();

            RegisterServerInitiator test2 = f.CreateFromConversationType <RegisterServerInitiator>();

            Assert.IsNotNull(test2);
            test2.RemoteEndPoint = testEndpoint;
            test2.Launch();
            Assert.AreEqual(test2.RemoteEndPoint, testEndpoint);

            // Test process responder conversations
            Envelope env1 = new Envelope();
            User     u    = new User();

            env1.Message = new ConnectToChatRequest(u);
            Responder resp1 = f.CreateFromEnvelope(env1);

            Assert.IsNotNull(resp1);
            Assert.AreEqual(resp1.ConversationId.ToString(), env1.Message.ConversationId.ToString());

            Envelope env2 = new Envelope();

            env2.Message = new HeartBeat(10000);
            Responder resp2 = f.CreateFromEnvelope(env2);

            Assert.IsNotNull(resp2);
            Assert.AreEqual(resp2.ConversationId.ToString(), env2.Message.ConversationId.ToString());
        }