為什麼從伺服器與客戶端不能接收訊息NetMQ框架?

a1107849370發表於2018-11-22

最近,我使用NetMQ傳送或接收伺服器和客戶端之間的訊息。 伺服器密碼:

    void Main()
    {
      CreatePullAndPushSocket();
      Task.Factory.StartNew(()=> {
            while (true)
            {
                Thread.Sleep(1);
                if (Pull != null)
                {
                    var message = Pull.ReceiveFrameString();
                }
            }
        });
    }
    PullSocket Pull;
    PushSocket Push;
    private void CreatePullAndPushSocket()
    {
        Pull = new PullSocket("tcp://ip1:port1");
        Push = new PushSocket("tcp://ip2:port2");
    }
    public void SendMessageToClient(string message)
    {
        if (Push != null)
        {
            Push.SendFrame(message);
        }
    }

客戶端程式碼:

   void Main()
    { 
      new Thread(()=> {
            while (true)
            {
                Thread.Sleep(1);
                if (Pull != null)
                {
                    var message = Pull.ReceiveFrameString();
                }
            }
        }).Start();
    }
    PullSocket Pull;
    PushSocket Push;
    private void CreatePullAndPushSocket()
    {
        Pull = new PullSocket("tcp://ip2:port2");
        Push = new PushSocket("tcp://ip1:port1");
    }
    public void SendMessageToClient(string message)
    {
        if (Push != null)
        {
            Push.SendFrame(message);
        }
    }

當我執行兩個應用程式中,伺服器應用程式,另一個是客戶端應用程式。

  • 1:客戶端傳送訊息到伺服器

  • 2:伺服器可以接收來自客戶機的訊息

  • 3:伺服器傳送另一個訊息給客戶端

  • 4:客戶端不能接收訊息! ! 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559515/viewspace-2221264/,如需轉載,請註明出處,否則將追究法律責任。

相關文章