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"))

  • 相关阅读:
    Git 总结
    .net报错大全
    对于堆和栈的理解
    html 局部打印
    c#面试问题总结
    算法题总结
    h5-plus.webview
    堆和栈,引用类型,值类型,指令,指针
    .NET framework具体解释
    前端之间的url 传值
  • 原文地址:https://www.cnblogs.com/yyl001/p/11213011.html
Copyright © 2011-2022 走看看