几个月前,我选择使用.NET库来实现ZeroMQ通信,而且我很担心zeromq.org上建议的库很少.
与此同时,我学到了很多东西,所以我将在这里分享.有人可能会觉得这很有帮助.所以让我问自己:
NetMQ和clrzmq有什么区别?
(虽然我自己会回答这个问题,如果其他人对这个问题有一些经验 - 欢迎另外的答案!)
这两者之间的关键区别在于:
libzmq在后台使用库(它是libzmq库的.NET包装器);libzmq而是在纯C#中重写它.哪一个使用?嗯,没有简单的答案.在选择时,请记住以下几点:
libzmq应该比任何托管代码快得多,但是在CLRZMQ和libzmq编组之间的通信必须发生,所以我真的无法预测哪个库会在速度上获胜.更新:NetMQ的另一个重要优势是支持 - 您可以在一两天内得到答案,有时甚至可以在几小时内得到答案.
更新2:NetMQ中的轮询器实现问题(此处描述)在我的案例中被证明是NetMQ的show-stopper问题.由于这个问题我已经迁移我的项目CLRZMQ(我可以改变我的想法在路上...)不过,说起轮询,有CLRZMQ文档中的一个问题,你应该知道,它的描述在这里