zoukankan      html  css  js  c++  java
  • NetMQ使用——请求响应模式 Request-Reply

    官网:https://netmq.readthedocs.io/en/latest/receiving-sending/

     推荐:https://www.cnblogs.com/Jack-Blog/p/6774902.html

    先发送的服务器端

    using (NetMQSocket clientSocket = new RequestSocket())
    {
    Random rd = new Random();
    int num = rd.Next(0, 100);
    clientSocket.Connect("tcp://127.0.0.1:5555");
    while (true)
    {
    Console.WriteLine(num + ",Please enter your message:");
    string message = Console.ReadLine();
    clientSocket.SendFrame(num + ":" + message);
    
    string answer = clientSocket.ReceiveFrameString();
    
    Console.WriteLine("Answer from server:{0}", answer);
    
    if (message == "exit")
    {
    break;
    }
    }
    }

    接收方,并返回接收结果

    using (NetMQSocket serverSocket = new ResponseSocket())
    {
    serverSocket.Bind("tcp://127.0.0.1:5555");
    while (true)
    {
    string message1 = serverSocket.ReceiveFrameString();
    
    Console.WriteLine("Receive message :
    {0}
    ", message1);
    
    string[] msg = message1.Split(':');
    string message = msg[1];
    
    
    #region 根据接收到的消息,返回不同的信息
    if (message == "Hello")
    {
    serverSocket.SendFrame("World");
    }
    else if (message == "ni hao ")
    {
    serverSocket.SendFrame("你好!");
    }
    else if (message == "hi")
    {
    serverSocket.SendFrame("HI");
    }
    else
    {
    serverSocket.SendFrame(message);
    }
    #endregion
    
    if (message == "exit")
    {
    break;
    }
    }
    }

    上述的绑定方法是一一对应的,不能同时开启多个客户端,若想绑定多个客户端,则要改变绑定的方式

       using (NetMQSocket clientSocket = new RequestSocket("@tcp://127.0.0.1:5555"))

      using (NetMQSocket serverSocket = new ResponseSocket(">tcp://127.0.0.1:5555"))

  • 相关阅读:
    javaScript类型和对象
    极客时间买课全额返现
    极客时间返利课程返利文字版
    负责范围
    list查询
    缺件修改
    修改信息
    Windows系统解决占用端口问题
    mysql系列——常用的几十个函数详解(六)
    史上最全日期时间类讲解
  • 原文地址:https://www.cnblogs.com/yyl001/p/11213011.html
Copyright © 2011-2022 走看看