Ejemplo n.º 1
0
        public string sendMessage(string message)
        {
            string result = null;

            using (var requester = new ZSocket(ZSocketType.REQ))
            {
                // Connect
                requester.Connect("tcp://127.0.0.1:5556");

                for (int n = 0; n < 10; ++n)
                {
                    Console.Write("Sending {0}...", message);

                    // Send
                    requester.Send(new ZFrame(message));

                    // Receive
                    using (ZFrame reply = requester.ReceiveFrame())
                    {
                        result = reply.ReadString();
                        Console.WriteLine(" Received: {0}", reply.ReadString());
                    }
                }
            }
            return(result);
        }
Ejemplo n.º 2
0
        //普通客户端
        private static void Req()
        {
            using (var context = new ZContext())
            {
                using (var requester = new ZSocket(context, ZSocketType.REQ))
                {
                    // Connect
                    requester.Connect("tcp://127.0.0.1:5555");

                    while (true)
                    {
                        Console.WriteLine("Please enter your message:");
                        string message = Console.ReadLine();
                        requester.Send(new ZFrame(message));

                        // Send
                        //requester.Send(new ZFrame(requestText));

                        // Receive
                        using (ZFrame reply = requester.ReceiveFrame())
                        {
                            Console.WriteLine("Received: {0} {1}!", message, reply.ReadString());
                            if ("exit" == reply.ReadString())
                            {
                                break;
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
        static void StartReceiver(String endpoint, bool bind = true)
        {
            using (ZContext context = new ZContext())
                using (ZSocket receiver = new ZSocket(context, ZSocketType.REP))
                {
                    if (bind)
                    {
                        receiver.Bind(endpoint);
                        Console.WriteLine("Receiver Bound To " + endpoint);
                    }
                    else
                    {
                        receiver.Connect(endpoint);
                        Console.WriteLine("Receiver Connected To " + endpoint);
                    }

                    while (true)
                    {
                        using (ZFrame request = receiver.ReceiveFrame())
                        {
                            String req = request.ReadString();
                            Console.WriteLine(">>> " + req);
                            Thread.Sleep(10000);
                            receiver.Send(new ZFrame(req.ToUpper()));
                            Console.WriteLine("<<< " + req.ToUpper());
                        }
                    }
                }
        }
Ejemplo n.º 4
0
        static void Auth()
        {
            Console.WriteLine("Auth");
            ThreadPool.QueueUserWorkItem(state =>
            {
                using (var context = new ZContext())
                    using (var responder = new ZSocket(context, ZSocketType.REP))
                    {
                        responder.Bind("tcp://*:5" + port + "5");
                        while (!Stop)
                        {
                            Console.WriteLine("Waiting");
                            using (ZFrame request = responder.ReceiveFrame())
                            {
                                string buf = request.ReadString();

                                if (CreateNewPlayer(buf))
                                {
                                    responder.Send(new ZFrame("Accepted"));
                                }

                                else
                                {
                                    responder.Send(new ZFrame("Error"));
                                }
                            }
                        }
                    }
            });
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 这是基础模式
        /// </summary>
        /// <param name="args"></param>
        public static void HwServer0(string[] args)
        {
            // Create
            using (var context = new ZContext())
                using (var responder = new ZSocket(context, ZSocketType.REP))
                {
                    // Bind
                    responder.Bind("tcp://127.0.0.1:5555");

                    //responder.Send(new ZFrame("chenchang"));//这里会报错,因为req套接字只能先receive才能发送

                    while (true)
                    {
                        // Receive
                        using (ZFrame request = responder.ReceiveFrame())
                        {
                            Console.WriteLine("Received {0}", request.ReadString());

                            // Do some work
                            Thread.Sleep(1);

                            // Send
                            responder.Send(new ZFrame("World"));
                        }
                    }
                }
        }
Ejemplo n.º 6
0
        public static void RRClient(IDictionary <string, string> dict, string[] args)
        {
            //
            // Hello World client
            // Connects REQ socket to tcp://localhost:5559
            // Sends "Hello" to server, expects "World" back
            //
            // Author: metadings
            //

            // Socket to talk to server
            using (var context = new ZContext())
                using (var requester = new ZSocket(context, ZSocketType.REQ))
                {
                    requester.Connect("tcp://127.0.0.1:5559");

                    for (int n = 0; n < 10; ++n)
                    {
                        using (var request = new ZFrame("Hello"))
                        {
                            requester.Send(request);
                        }

                        using (ZFrame reply = requester.ReceiveFrame())
                        {
                            Console.WriteLine("Hello {0}!", reply.ReadString());
                        }
                    }
                }
        }
Ejemplo n.º 7
0
        static void Main(string[] args)
        {
            if (args == null || args.Length < 1)
            {
                Console.WriteLine();
                Console.WriteLine(" This is a server for our chat (Vi_Mrch)");
                Console.WriteLine();
                args = new string[] { "" };
            }

            string name = args[0];

            // Create
            using (var context = new ZContext())
                using (var responder = new ZSocket(context, ZSocketType.REP))
                {
                    // Bind
                    responder.Bind("tcp://*:5555");

                    while (true)
                    {
                        // Receive
                        using (ZFrame request = responder.ReceiveFrame())
                        {
                            Console.WriteLine("Received {0}", request.ReadString());

                            // Do some work
                            Thread.Sleep(1);

                            // Send
                            responder.Send(new ZFrame(name));
                        }
                    }
                }
        }
Ejemplo n.º 8
0
        public void ConnectToGW(string args)//
        {
            // args =  "tcp://127.0.0.1:5555" ;
            string endpoint = args;

            // Create
            using (var context = new ZContext())
                using (var requester = new ZSocket(context, ZSocketType.REQ))
                {
                    // Connect
                    requester.Connect(endpoint);
                    //for (int n = 0; n < 1; n++)
                    //{
                    string requestText = Who.ToString() + "|" + Id;
                    Console.WriteLine("Отправил, что я: {0} и мой Id: {1}", Who, Id);

                    // Send
                    requester.Send(new ZFrame(requestText));


                    // Receive
                    using (ZFrame reply = requester.ReceiveFrame())
                    {
                        roomBox.Text = reply.ReadString();
                        _port2       = roomBox.Text;
                        _port1       = (Int32.Parse(_port1) + 1).ToString();
                        Console.WriteLine(" Получил: {0} {1}", requestText, roomBox.Text);
                    }
                    //roomBox.Text = reply.ReadString();
                    //_port1 = requestText;
                    //}
                    requester.Close();
                    context.Dispose();
                }
        }
Ejemplo n.º 9
0
        static void Main(string[] args)
        {
            string name = "World";

            // Create
            // using (var context = new ZContext())
            using (var responder = new ZSocket(ZSocketType.REP))
            {
                // Bind
                responder.Bind("tcp://*:5555");

                while (true)
                {
                    // Receive
                    using (ZFrame request = responder.ReceiveFrame())
                    {
                        Console.WriteLine("Received {0}", request.ReadString());

                        // Do some work
                        Thread.Sleep(1);

                        // Send
                        responder.Send(new ZFrame(name));
                    }
                }
            }
        }
Ejemplo n.º 10
0
        public static void Move(string Direction)
        {
            string ServerAdress = "tcp://127.0.0.1:5" + Port + "6";

            using (var context = new ZContext())
                using (var requester = new ZSocket(context, ZSocketType.REQ))
                {
                    requester.Connect(ServerAdress);
                    requester.Send(new ZFrame(PlayerName + ";" + Direction));
                    using (ZFrame reply = requester.ReceiveFrame())
                    {
                        if (reply.ReadString() == "Accepted")
                        {
                            Console.WriteLine("Accepted");
                        }
                        else
                        {
                            Console.WriteLine("error");
                            MessageBox.Show("Error (maybe name is already taken)", "error",
                                            MessageBoxButtons.OK,
                                            MessageBoxIcon.Error);
                        }
                    }
                }
        }
Ejemplo n.º 11
0
        public static void GetServerPort()
        {
            string ServerAdress = "tcp://127.0.0.1:5000";

            using (var context = new ZContext())
                using (var requester = new ZSocket(context, ZSocketType.REQ))
                {
                    requester.Connect(ServerAdress);
                    requester.Send(new ZFrame("New"));
                    using (ZFrame reply = requester.ReceiveFrame())
                    {
                        String Answer = reply.ReadString();
                        if (Answer != "Error")
                        {
                            Console.WriteLine("Accept");
                            Port = Answer;
                            MessageBox.Show("Connecting to " + Port + "...", "Connecting...",
                                            MessageBoxButtons.OK,
                                            MessageBoxIcon.Information);
                        }
                        else
                        {
                            Console.WriteLine("error");
                            MessageBox.Show("Error (Get New Port)", "error",
                                            MessageBoxButtons.OK,
                                            MessageBoxIcon.Error);
                        }
                    }
                }
        }
Ejemplo n.º 12
0
        public static void Auth(string Name)
        {
            GetServerPort();
            string ServerAdress = "tcp://127.0.0.1:5" + Port + "5";

            using (var context = new ZContext())
                using (var requester = new ZSocket(context, ZSocketType.REQ))
                {
                    requester.Connect(ServerAdress);
                    requester.Send(new ZFrame(Name));
                    using (ZFrame reply = requester.ReceiveFrame())
                    {
                        if (reply.ReadString() == "Accepted")
                        {
                            Console.WriteLine("Accept");
                            PlayerName = Name;
                            inpWindow.Close();
                        }
                        else
                        {
                            Console.WriteLine("error");
                            MessageBox.Show("Error (maybe name is already taken)", "error",
                                            MessageBoxButtons.OK,
                                            MessageBoxIcon.Error);
                        }
                    }
                }
        }
Ejemplo n.º 13
0
        static void Main(string[] args)
        {
            //
            //Hello World Client
            //
            //Author: metadings
            //

            //Create
            //using(var context = new ZContext())
            using (var requester = new ZSocket(ZSocketType.REQ))
            {
                //Connect
                requester.Connect("tcp://127.0.0.1:5555");

                for (int n = 0; n < 10; n++)
                {
                    //Message
                    string requestText = "Hello my friend";
                    Console.WriteLine("Sending {0}...", requestText);
                    //Send
                    requester.Send(new ZFrame(requestText));

                    //Receive
                    using (ZFrame reply = requester.ReceiveFrame())
                    {
                        Console.WriteLine("Received {0} {1}!", requestText, reply.ReadString());
                        Console.ReadKey();
                    }
                }
            }
        }
Ejemplo n.º 14
0
        public static void IronhouseServer(string[] args)
        {
            //
            // Hello World server with ironhouse security
            //
            // Author: hawkans
            //

            if (args == null || args.Length < 1)
            {
                Console.WriteLine();
                Console.WriteLine("Usage: ./{0} Ironhouse HWServer [Name]", AppDomain.CurrentDomain.FriendlyName);
                Console.WriteLine();
                Console.WriteLine("    Name   Your name. Default: World");
                Console.WriteLine();
                args = new string[] { "World" };
            }

            string name = args[0];
            // Create or load certificates
            ZCert clientCert = GetOrCreateCert("clienttest");
            ZCert serverCert = GetOrCreateCert("servertest");

            using (var responder = new ZSocket(ZSocketType.REP))
                using (var actor = new ZActor(ZAuth.Action0, null))
                {
                    actor.Start();
                    // send CURVE settings to ZAuth
                    actor.Frontend.Send(new ZFrame("VERBOSE"));
                    actor.Frontend.Send(new ZMessage(new List <ZFrame>()
                    {
                        new ZFrame("ALLOW"), new ZFrame("127.0.0.1")
                    }));
                    actor.Frontend.Send(new ZMessage(new List <ZFrame>()
                    {
                        new ZFrame("CURVE"), new ZFrame(".curve")
                    }));

                    responder.CurvePublicKey = serverCert.PublicKey;
                    responder.CurveSecretKey = serverCert.SecretKey;
                    responder.CurveServer    = true;
                    // Bind
                    responder.Bind("tcp://*:5555");

                    while (true)
                    {
                        // Receive
                        using (ZFrame request = responder.ReceiveFrame())
                        {
                            Console.WriteLine("Received {0}", request.ReadString());

                            // Do some work
                            Thread.Sleep(1);

                            // Send
                            responder.Send(new ZFrame(name));
                        }
                    }
                }
        }
Ejemplo n.º 15
0
        static void MTServer_Worker(ZContext ctx)
        {
            // Socket to talk to dispatcher
            using (var server = new ZSocket(ctx, ZSocketType.REP))
            {
                server.Connect("inproc://workers");

                while (true)
                {
                    using (ZFrame frame = server.ReceiveFrame())
                    {
                        Console.Write("Received: {0}", frame.ReadString());

                        // Do some 'work'
                        Thread.Sleep(1000);

                        // Send reply back to client
                        string replyText = "World";
                        Console.WriteLine(", Sending: {0}", replyText);

                        Console.WriteLine($"threadId:{Thread.CurrentThread.ManagedThreadId},time:{DateTime.Now.ToString()}");

                        server.Send(new ZFrame(replyText));
                    }
                }
            }
        }
Ejemplo n.º 16
0
 public void ReceiveJson()
 {
     while (Thread.CurrentThread.IsAlive)
     {
         String request = null;
         if (this.binded)
         {
             try
             {
                 ZFrame frame = this.socket.ReceiveFrame();
                 request = frame.ReadString();
                 String reply   = this.UpdateParams(request);
                 ZFrame message = new ZFrame(reply);
                 this.socket.Send(message);
             }
             catch (ZException e)
             {
                 request = "Cannot receive message: " + e.Message;
             }
         }
         else
         {
             request = "Cannot receive message: Not connected";
         }
     }
 }
Ejemplo n.º 17
0
        private static void Handle(Header header, ZFrame bodyFrame)
        {
            //TODO - really we'd have a message handler factory:
            if (header.BodyType == typeof(SendFulfilmentCommand).Name)
            {
                var command = JsonConvert.DeserializeObject <SendFulfilmentCommand>(bodyFrame.ReadString());
                var client  = FulfilmentClientFactory.GetApiClient(command.FulfilmentType);
                try
                {
                    client.Send(command.Address);
                    Console.WriteLine("*** Sent fulfilment, type: {0}, to address: {1}", command.FulfilmentType, command.Address);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("*** Fulfilment failed, resending message");

                    var queueAddress = Config.Get("Queues.Fulfilment.Address");
                    header.HandledCount++;
                    header.LastExceptionMessage = ex.Message;

                    var messageFrames = new List <ZFrame>();
                    messageFrames.Add(new ZFrame(JsonConvert.SerializeObject(header)));
                    messageFrames.Add(bodyFrame);

                    using (var context = new ZContext())
                        using (var sender = new ZSocket(context, ZSocketType.PUSH))
                        {
                            sender.Connect(queueAddress);
                            sender.Send(new ZMessage(messageFrames));
                        }
                }
            }
        }
        /// <summary>
        /// 响应  服务器端
        /// </summary>
        /// <param name="port"></param>
        /// <param name="messageHandler">不能为null,否则抛出异常,MessageHandler不能抛出异常</param>
        public static void ReqServer(int port, Func <String, String> messageHandler)
        {
            //ZContext实例
            using (ZContext context = new ZContext())
            {
                //ZSocket实例 响应
                using (ZSocket responder = new ZSocket(context, ZSocketType.REP))
                {
                    ZError zError = null;
                    bool   result = responder.Bind($"tcp://*:{port}", out zError);

                    while (isRunning)
                    {
                        //接收消息
                        using (ZFrame request = responder.ReceiveFrame())
                        {
                            //Response socket always reply to the last client that sends a message.
                            String msg  = request.ReadString(Encoding.UTF8);
                            String resp = messageHandler(msg);
                            responder.Send(new ZFrame(resp, Encoding.UTF8));
                        }
                    }
                }
            }
        }
Ejemplo n.º 19
0
        private void InitialiseScoreFollower(string filename)
        {
            // Create the python process to run the python code and start it
            string           filenamePythonScript = "C:/Users/Alexis/Source/TestPython2/AutomaticAudioTranscript/start_score_following.py";
            ProcessStartInfo info = new ProcessStartInfo();

            info.RedirectStandardError = true;
            info.UseShellExecute       = false;
            info.FileName = "python3.exe";
            // We make sure the paths can handle spaces
            info.Arguments             = "\"" + filenamePythonScript + "\"" + " " + "\"" + filename + "\"";
            python                     = new Process();
            python.StartInfo           = info;
            python.EnableRaisingEvents = true;
            python.Exited             += new EventHandler(pythonProcess_Exited);
            python.Start();

            // Handle Exited event and display process information.
            void pythonProcess_Exited(object sender, System.EventArgs e)
            {
                // Need to stop the score following timer, otherwise the window freezes when the python process is exited
                //player.timerScoreFollowing.Stop();
                MessageBox.Show(python.StandardError.ReadToEnd(), "Error in the python process", MessageBoxButtons.OK, MessageBoxIcon.Error);
            };

            // Block until we have received a request from the back-end
            // (it takes a few secs to initialise and we don't want to do
            // anything in the meantime).
            using (ZFrame request = responder_init.ReceiveFrame())
            {
                request.ReadString();
            }
            // REMOVE
            watch = Stopwatch.StartNew();
        }
Ejemplo n.º 20
0
        static void Main(string[] args)
        {
            Console.WriteLine("BPMN worker server");

            // Create
            using (var context = new ZContext())
                using (var responder = new ZSocket(context, ZSocketType.REP))
                {
                    // Bind
                    responder.Bind("tcp://*:5555");

                    while (true)
                    {
                        // Receive
                        using (ZFrame request = responder.ReceiveFrame())
                        {
                            var flow = request.ReadString();
                            if (flow.StartsWith("<?xml")) //Just for demo purposes
                            {
                                var p = new Process(new MemoryStream(Encoding.UTF8.GetBytes(flow)));
                                var processInstance = p.NewProcessInstance();
                                processInstance.SetDefaultHandlers();
                                processInstance.SetHandler("task", new ZMQTaskHandler());
                                //processInstance.SetHandler("endEvent", new ZMQEndHandler(responder));
                                processInstance.Start(new Dictionary <string, object>());
                            }
                            responder.Send(new ZFrame("Work Done"));
                        }
                    }
                }
        }
Ejemplo n.º 21
0
        /// <summary>
        /// Sends a requestion and waits for the response
        /// </summary>
        /// <param name="req">The request to be sent to MegaMol</param>
        /// <param name="timeout">The timeout when the function will throw an exception</param>
        /// <returns>The response answer by MegaMol</returns>
        public Response Send(Request req, TimeSpan timeout)
        {
            if (req == null)
            {
                throw new ArgumentNullException("req");
            }

            socket.ReceiveTimeout = timeout;
            socket.SendTimeout    = timeout;

            ZFrame reqData = req.MakeZMQRequest();

            if (reqData == null)
            {
                throw new ArgumentException("req seemed illegal");
            }
            socket.Send(reqData);

            Response resp = null;

            using (ZFrame reply = socket.ReceiveFrame()) {
                Response r = new Response();
                r.Request = req; // set request first, because that object is required to parse the answer
                r.fromZFrameString(reply.ReadString(Encoding.UTF8));
                resp = r;
            }

            return(resp);
        }
Ejemplo n.º 22
0
            public void Execute(ProcessNode currentNode, ProcessNode previousNode)
            {
                string endpoint = "tcp://127.0.0.1:5556";

                // Create
                using (var context = new ZContext())
                    using (var requester = new ZSocket(context, ZSocketType.REQ))
                    {
                        // Connect
                        requester.Connect(endpoint);

                        string requestText = "Do some work";
                        Console.WriteLine("Request {0}", requestText);

                        // Send
                        requester.Send(new ZFrame(requestText));

                        // Receive
                        using (ZFrame reply = requester.ReceiveFrame())
                        {
                            Console.WriteLine("Received: {0} ", reply.ReadString());
                        }

                        currentNode.Done();
                    }
            }
Ejemplo n.º 23
0
 static void RegisterNewServer()
 {
     Console.WriteLine("Auth");
     ThreadPool.QueueUserWorkItem(state =>
     {
         using (var context = new ZContext())
             using (var responder = new ZSocket(context, ZSocketType.REP))
             {
                 responder.Bind("tcp://*:6000");
                 while (!Stop)
                 {
                     Console.WriteLine("Waiting");
                     using (ZFrame request = responder.ReceiveFrame())
                     {
                         Console.WriteLine("New Server!");
                         string buf = request.ReadString();
                         if (buf == "New" && portcount < 100)
                         {
                             responder.Send(new ZFrame(portcount.ToString()));
                             serverPop[portcount] = 0;
                             portcount++;
                         }
                     }
                 }
             }
     });
 }
Ejemplo n.º 24
0
        static void Main(string[] args)
        {
            Console.WriteLine("10 seconds worker server");

            // Create
            using (var context = new ZContext())
                using (var responder = new ZSocket(context, ZSocketType.REP))
                {
                    // Bind
                    responder.Bind("tcp://*:5556");

                    while (true)
                    {
                        // Receive
                        using (ZFrame request = responder.ReceiveFrame())
                        {
                            Console.WriteLine("Received {0}", request.ReadString());

                            // Do some work
                            Thread.Sleep(10000);

                            // Send
                            Console.WriteLine("Sending Work Done");
                            responder.Send(new ZFrame("Work Done"));
                        }
                    }
                }
        }
Ejemplo n.º 25
0
        static void GetPort()
        {
            string ServerAdress = "tcp://127.0.0.1:6000";

            using (var context = new ZContext())
                using (var requester = new ZSocket(context, ZSocketType.REQ))
                {
                    requester.Connect(ServerAdress);
                    requester.Send(new ZFrame("New"));
                    using (ZFrame reply = requester.ReceiveFrame())
                    {
                        String answer = reply.ReadString();
                        if (answer != "Error")
                        {
                            Console.WriteLine("Accept, new port = " + answer);
                            port = answer;
                            MessageBox.Show("Port for this server - " + port, "New port!",
                                            MessageBoxButtons.OK,
                                            MessageBoxIcon.Information);
                        }
                        else
                        {
                            Console.WriteLine("error");
                            MessageBox.Show("Error (auth)", "error",
                                            MessageBoxButtons.OK,
                                            MessageBoxIcon.Error);
                        }
                    }
                }
        }
Ejemplo n.º 26
0
        public static void Console_WriteZFrame(string format, ZFrame frame, params object[] data)
        {
            var renderer = new StringBuilder();

            var list = new List <object>(data);

            // here the renderer

            renderer.Append(format);
            renderer.Append(": ");
            renderer.Append("{");
            renderer.Append(0 + data.Length);
            renderer.Append("}");

            // now the message

            frame.Position = 0;

            if (frame.Length == 0)
            {
                list.Add("0");
            }
            else
            {
                list.Add(frame.ReadString());
            }

            frame.Position = 0;

            Console.WriteLine(renderer.ToString(), list.ToArray());
        }
Ejemplo n.º 27
0
        static void RTReq_Worker(int i)
        {
            using (var context = new ZContext())
                using (var worker = new ZSocket(context, ZSocketType.REQ))
                {
                    worker.IdentityString = "PEER" + i;                 // Set a printable identity
                    worker.Connect("tcp://127.0.0.1:5671");

                    int total = 0;
                    while (true)
                    {
                        // Tell the broker we're ready for work
                        worker.Send(new ZFrame("Hi Boss"));

                        // Get workload from broker, until finished
                        using (ZFrame frame = worker.ReceiveFrame())
                        {
                            bool finished = (frame.ReadString() == "Fired!");
                            if (finished)
                            {
                                break;
                            }
                        }

                        total++;

                        // Do some random work
                        Thread.Sleep(1);
                    }

                    Console.WriteLine("Completed: PEER{0}, {1} tasks", i, total);
                }
        }
Ejemplo n.º 28
0
        public static void HWClient(IDictionary <string, string> dict, string[] args)
        {
            //
            // Hello World client
            //
            // Authors: Pieter Hintjens, Uli Riehm
            //

            // Create
            using (var context = ZContext.Create())
                using (var requester = ZSocket.Create(context, ZSocketType.REQ))
                {
                    // Connect
                    requester.Connect("tcp://127.0.0.1:5555");

                    for (int n = 0; n < 10; ++n)
                    {
                        string requestText = "Hello";
                        Console.Write("Sending {0}...", requestText);

                        // Send
                        using (var request = new ZFrame(requestText))
                        {
                            requester.Send(request);
                        }

                        // Receive
                        using (ZFrame reply = requester.ReceiveFrame())
                        {
                            Console.WriteLine(" Received: {0} {1}!", requestText, reply.ReadString());
                        }
                    }
                }
        }
Ejemplo n.º 29
0
        public void Execute()
        {
            using (var responder = new ZSocket(ZSocketType.REP))
            {
                // Bind
                responder.Bind("tcp://*:5555");

                while (true)
                {
                    // Receive
                    using (ZFrame request = responder.ReceiveFrame())
                    {
                        Console.WriteLine("Received {0}", request.ReadString());

                        // Do some work
                        Thread.Sleep(1);

                        string sendText = Console.ReadLine();

                        Console.WriteLine($"sending text :{sendText}");
                        // Send
                        responder.Send(new ZFrame(sendText));
                    }
                }
            }
        }
Ejemplo n.º 30
0
        static void StartSender(String endpoint, bool bind = false)
        {
            using (ZContext context = new ZContext())
                using (ZSocket sender = new ZSocket(context, ZSocketType.REQ))
                {
                    if (bind)
                    {
                        sender.Bind(endpoint);
                        Console.WriteLine("Sender Bound To " + endpoint);
                    }
                    else
                    {
                        sender.Connect(endpoint);
                        Console.WriteLine("Sender Connected To " + endpoint);
                    }

                    Console.Write("<<< ");
                    String msg = Console.ReadLine();

                    while (true)
                    {
                        sender.Send(new ZFrame(msg.Trim()));

                        using (ZFrame reply = sender.ReceiveFrame())
                        {
                            Console.WriteLine(">>> " + reply.ReadString());
                        }

                        Console.Write("<<< ");
                        msg = Console.ReadLine();
                    }
                }
        }