首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NetMQ对clrzmq

NetMQ对clrzmq
EN

Stack Overflow用户
提问于 2016-07-31 10:09:02
回答 2查看 5.7K关注 0票数 6

几个月前,我选择.NET库来实现ZeroMQ通信,我对zeromq.org建议的库很少这一事实感到非常困惑。

与此同时,我学到了一些东西,所以我将在这里分享。也许有人会觉得这很有帮助。所以让我问问自己:

NetMQ和clrzmq有什么区别?

(虽然我会亲自回答这个问题,但如果其他人在这个问题上有经验的话-欢迎选择答案!)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-31 10:09:02

这两种方法的主要区别在于:

  • CLRZMQ是一个绑定项目,它实际上在后台使用libzmq库(它是libzmq库的.NET包装器);
  • NetMQ是.NET-- ZeroMQ的本机端口,这意味着它不包装现有的libzmq,而是用纯C#重写它。

用哪一种?没有简单的答案。在选择时,要记住以下几件重要的事情:

  • 说到可移植性,NetMQ到目前为止是赢家,尤其是因为有.NET核心版本的NetMQ。使用NetMQ部署也更容易--无需担心本机库(x64 / x86等)。
  • 另一方面,NetMQ实际上重写了所有的东西,这对我来说有点可怕--总是存在这样的风险:原始代码没有精确地反映某些内容,而且它可能会导致与其他ZeroMQ节点的不兼容。还有一个问题是,NetMQ将以多快的速度从原始库中实现新特性。
  • 表演。目前我不知道哪个图书馆在表演中获胜,但这绝对是在选择时要考虑的问题。libzmq应该比任何托管代码都快得多,但是在CLRZMQ和libzmq封送处理之间的通信中必须进行,所以我真的无法预测哪个库会在速度上获胜。

更新: NetMQ的另一个重要优点是支持--您将在一两天内得到答案,有时在几个小时内就会得到答案。

更新2:在NetMQ (描述的这里)中,poller实现的一个问题在我的例子中被证明是NetMQ的显示停止问题。由于这个问题,我已经将我的项目迁移到CLRZMQ (我可能会改变主意.)然而,谈到poller,您应该注意到CLRZMQ文档中有一个问题,它被描述为这里

票数 10
EN

Stack Overflow用户

发布于 2016-08-12 22:41:23

据Doron Somech说:

http://somdoron.com/2013/03/introducing-netmq/

从2014年起,C#绑定(CLRZMQ)不再维护,NetMQ是ZeroMQ和.Net的默认选择。

看来:

https://github.com/zeromq/clrzmq4

替换了原始的CLRZMQ项目。

我正在使用NetMQ,并期待着为该项目做出贡献。

我为NetMQ和本机ZeroMQ构建了相同的Pub场景,没有发现任何性能差异。干得好,多伦!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38682886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档