0

私は(Python->C#) にSocket と Socket を 1 つだけ持つPUSH/PULLパターンを持っています。両方が接続されている限り、ワーカーがメッセージを処理するのにどれだけ時間がかかっても、キューに入れられたメッセージの順序は保持されます。0MQPUSHPULL

問題は、ワーカーがしばらく切断されてから再接続した場合、この期間にキューに入れられたすべてのメッセージが、PUSHSocket によってキューに入れられた方法に関係なく、ランダムな順序で到着することです。この問題の組み込みの解決策はありますか、それともより高度なパターンを使用する必要がありますか?

PULL 側にコードを追加します。

using (var receiver = new PullSocket())
            {
                receiver.Bind("tcp://localhost:5557");

                while (true)
                {
                    var payload = receiver.ReceiveFrameString();

                    log.Debug($"Payload: {payload}");
                }
            }
4

1 に答える 1