ZMQ是什么? 这是个类似于Socket的一系列接口,他跟Socket的区别是:普通的socket是端到端的(1:1的关 系),而ZMQ却是可以N:M 的关系,人们对BSD套接字的了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协议(TCP/UDP)和处理错
ZMQ是什么?
这是个类似于Socket的一系列接口,他跟Socket的区别是:普通的socket是端到端的(1:1的关 系),而ZMQ却是可以N:M 的关系,人们对BSD套接字的了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协议(TCP/UDP)和处理错误等,而ZMQ屏 蔽了这些细节,让你的网络编程更为简单。ZMQ用于node与node间的通信,node可以是主机或者是进程。
引用官方的说法: “ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ的明确目标是 “成为标准网络协议栈的一部分,之后进入Linux内核”。现在还未看到它们的成功。但是,它无疑是极具前景的、并且是人们更加需要的“传统”BSD套接 字之上的一 层封装。ZMQ让编写高性能网络应用程序极为简单和有趣。”
以下记录一下在linux安装mq并且配置实例的过程。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
然后
vi /etc/php.ini 加上
1 |
|
重启php,可以在phpinfo页面查看是否已经正确安装了zmq模块:
到这里已经安装完成。剩下的就是开启server端和client端的测试的事情了。
比如: 我在server端,有这样一个simple-server.php
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
client端有这样一个程序:client.php
1 2 3 4 5 6 7 8 9 10 |
|
zeromq可以跨平台、跨语言,高并发的处理效率也不错,是不错的socket编程的一种方案!
Tips: 如果出现连不上server的情况,请在浏览器打开simple-server.php。 貌似可能和第一次用的时候的初始化有关。
参考资料:
http://zeromq.org/bindings:php
原文地址:zeromq linux 安装+实例, 感谢原作者分享。