- 1、本文档共230页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ZeroMQ-指导-翻译
ZeroMQ—指导
由iMatix公司的首席执行官Pieter Hintjens moc.xitami|hp#moc.xitami|hp编写。感谢Bill Desmarais, Brian Dorsey, CAF, Daniel Lin, Eric Desgranges, Gonzalo Diethelm, Guido Goldstein, Hunter Ford, Kamil Shakirov, Martin Sustrik, Mike Castleman, Naveen Chawla, Nicola Peduzzi, Oliver Smith, Olivier Chamoux, Peter Alexander, Pierre Rouleau, Randy Dryburgh, John Unwin, Alex Thomas, rofl0r, Mihail Minkov, Jeremy Avnet, Michael Compton, and Zed Shaw的贡献,也感谢Stathis Sideris,因为Ditaa.。
请对所有的意见和勘误表进行问题跟踪。这个版本覆盖了0MQ2.0的版本,发表于周二2010年11月9日9时32分19秒Fred Brooks这样的人认为没有解决办法。免费的开源软件解决了这次危机,让我们能够高效地分享知识。今天,我们遇到了另一个软件危机,但是我们对这个话题谈论的不多。只有最大,最有钱的公司能够建立连接的应用程序。虽然有云端运算网络,但是它是私有的。我们的数据 、知识从我们的电脑里消失,进入我们不能访问、不能竞争的云网络。谁拥有我们的社会网络?相反,它像大型电脑革命。
我们把关于政治哲学的问题留给别的书来解决吧。问题是,因特网提供了大量代码能够连接在一起的可能的同时,事实是对于我们中的大多数,都不能够实现它。因此,因为没有办法连接代码,很多人们感兴趣的问题(如健康,教育,经济,运输等)仍然没有解决,也没有办法连接人们的聪明来解决这些问题。
人们已经做过很多连接软件的尝试。因特网工程特别任务组制定了数以千记的规范,每个规范解决部分问题。对应用开发人员来说,HTTP可能是一个很简单的解决方案,但是它却可能让问题变得更糟糕,它鼓励开发人员和工程师开发大型服务器和瘦的并且愚蠢的客户机。
因此,今天人们仍然通过原始UDP或者TCP,专门的协议,HTTP,网络套接字来连接引用程序。它仍然很困难,慢,难以升级,并且很集中。分布式P2P结构大多数只能是玩玩,不能用于工作。有多少应用程序是使用Skype或者Bittorrent来交换数据的呢?
什么能够带我们回到科学的编程?为了修理(fixing)世界,我们需要做两件事。一件是,解决这个普遍问题“如何在任何地方把任意的代码连接起来。”另一件是,用人们容易理解和使用的简单的模块把它封装起来。
它听起来简单的荒谬。但可能它确实就是这么简单。它就是问题的所在。
用一百个字来描述0MQ
0MQ看起来像是嵌入的网络库,但行为像一个并发的框架。它提供带所有信息并且跨各种传输协议如进程间,进程内,广播等的套接字给你。你可以用多种方式实现N对N的套接字连接,如扇出,发布订阅,请求应答。它足够快,因此可以制作集群。他的异步输入输出模式为你提供了可扩展的多核应用,用来处理异步消息任务。它提供很多语言的套接字,并且能够在很多操作系统上运行.0MQ是iMatix公司研发的,是开源协议。
一些假设
我们假设你使用的是最新版本的0MQ,而且你是当今的git高手。我们假设你使用的是Liux系统或者类似的。我们假设你能够读懂C语言代码,因为我们的很多代码是用C语言编写的。我们假设如果程序需要,当我们写常量如PUSH或者SUBSCRIBER你能够想的到它们实际上是ZMQ-PUSH或者ZMQ-SUBSCRIBER。
请求与响应
让我们开始写一些代码,我们当然是以世界你好这个例子开始。我们将会构造一个服务器和一个客户机。客户机发送“HELLO”给服务器,将会得到响应“World”。这是服务器程序,它在端口5555打开一个0MQ套接字,并在端口读取请求,并对每一个请求都以“World”应答。
//
// Hello World server
// Binds REP socket to tcp://*:5555
// Expects Hello from client, replies with World
//
#include zmq.h
#include stdio.h
#include unistd.h
#include string.h
int main () {
void *context = zmq_init
您可能关注的文档
- 5苏教版四年级上册数学.练习二 课件.ppt
- 5摄影大师杜瓦诺.doc
- 5计算机安全防护.doc
- 5第五章市场结构与企业行为1.ppt
- 6(涂装监理细则).doc
- 6-6第六节 柴油机的操纵系统.doc
- 6.16.1客户服务部考核制度及标准.doc
- 6.16.26.3多级放大电路的耦合方式及分析方法(国脉).ppt
- 6.1、OSPF协议.ppt
- 6.2仙人掌导学案李凌云.doc
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
文档评论(0)