Beispiel #1
0
        public void RouterDealerMessaging()
        {            
            using (var server = new RouterSocket())
            using (var client = new DealerSocket())
            {
                int port = server.BindRandomPort("tcp://127.0.0.1");
                client.Connect("tcp://127.0.0.1:" + port);

                var clientOutgoingMessage = new NetMQMessage();
                clientOutgoingMessage.Append("Hello");

                client.SendMultipartMessage(clientOutgoingMessage);

                NetMQMessage serverIncomingMessage = server.ReceiveMultipartMessage();

                // number of frames should be one because first message should be identity of client
                Assert.AreEqual(2, serverIncomingMessage.FrameCount);
                Assert.AreEqual("Hello", serverIncomingMessage[1].ConvertToString());

                var serverOutgoingMessage = new NetMQMessage();

                // first adding the identity
                serverOutgoingMessage.Append(serverIncomingMessage[0]);
                serverOutgoingMessage.Append("World");

                server.SendMultipartMessage(serverOutgoingMessage);

                var incomingClientMessage = client.ReceiveMultipartMessage();

                Assert.AreEqual(1, incomingClientMessage.FrameCount);
                Assert.AreEqual("World", incomingClientMessage[0].ConvertToString());
            }
        }
Beispiel #2
0
        public void Issue52_ReqToRouterBug()
        {            
            using (var router = new RouterSocket())
            using (var req = new RequestSocket())
            {
                router.Bind("inproc://example");
                req.Connect("inproc://example");

                const string testmessage = "Simple Messaging Test";

                req.SendFrame(testmessage);

                var msg = router.ReceiveMultipartMessage();
                Assert.AreEqual(3, msg.FrameCount);
                Assert.AreEqual(msg[2].ConvertToString(), testmessage);
            }
        }