問題:
? ? ? ? 本機環境下,在push端向pull端發送消息的過程中,發現同一個進程里的pusher和puller代碼,可以準確地完成收發;
? ? ? ? 然而,將代碼放在兩個進程里,將pusher發送的消息從1計數,puller端竟然隔一條收到一條,收到的全部是計數為偶數的消息。
原因:
? ? ? ? 原因比較無聊,不同進程時,puller端連接字符串開頭需要加一個字符“@”,如下:
//連接字符串中,無@則則push端消息,隔一條收到一條
//using (puller = new PullSocket("tcp://localhost:6666"))
//連接字符串中,有@則能收到全部push端消息
using (puller =new PullSocket("@tcp://localhost:6666"))
備注:
NetMQ官網Push-Pull模式文檔:Push-Pull - NetMQ