zeromq:c,c++,golang及nodejs使用
来源:互联网 发布:能在淘宝上发布 植树 编辑:程序博客网 时间:2024/06/13 12:29
官网:www.zeromq.org
消息队列比较:http://www.cnblogs.com/charlesblc/p/6058799.html
zeromq的一些观点:http://www.cnblogs.com/my_life/articles/5293176.html
1.ZeroMQ是一个程序库,rabbitmq则是消息服务器
2.ZeroMQ是面向消息,而socket是面向字节流,zeromq本身会保证消息完整性
3.zeromq你不必考虑I/O与程序阻塞、异步这些麻烦事,zeromq使用无锁的队列完成异步I/O
4.zeromq具有可以缓存消息的异步队列,必要时可以把消息缓存到磁盘
5.生产中会遇到各种路由问题,一对多、多对一、多对多的路由,zeromq提供灵活的现成模式供组合
zeromq不能只看做socket封装,它改变了tcp/udp只能一对一通信模式
参考文章:http://www.cnblogs.com/rainbowzc/p/3357594.html
(1)linux: c,c++核心:https://github.com/zeromq/libzmq
这里面可以下载libzmq-4.2.0.tar.gz和zeromq-4.2.0.tar.gz,两个都是zmq的源码,但前者貌似没有编译脚本,所以使用后者
tar zxf zeromq-4.2.0.tar.gz
cd zeromq-4.2.0/
./configure
make
sudo make install
头文件在:/usr/local/include;lib文件在:/usr/local/lib
(2)linux: c语言测试例程(c语言接口:http://api.zeromq.org):
http://www.cnblogs.com/kaishan1990/p/5636332.html
上面的例子,client/server启动先后顺序没关系,但和server断开后,client不会自动重新连接
c++有封装http://zeromq.org/bindings:cpp,实际这个项目很少有人用
(3)golang
http://zeromq.org/bindings:go
https://github.com/pebbe/zmq4
执行:go get github.com/pebbe/zmq4
linux上很容易过,但windows要小折腾一下,以下方框内:
a.下载tdm64-gcc-5.1.0-2.exe
b.cd zeromq-4.2.0\builds\mingw32
c.make -f Makefile.mingw32不通过
4.编辑Makefile.mingw32,加入gather.o scatter.o dgram.o
5.生成的libzmq.dll.a拷贝到C:\TDM-GCC-64\lib
6.生成的libzmq.dll拷贝到C:\TDM-GCC-64\bin
6.zeromq-4.2.0\include下的文件拷贝到C:\TDM-GCC-64\include
下面测试demo:
cd src\github.com\pebbe\zmq4\examples
go build hwclient.go
go build hwserver.go
分别运行2个exe文件
(4)node.js
http://zeromq.org/bindings:node-js
例子在:https://github.com/JustinTulloss/zeromq.node
Push/Pull的例子很容易测试通过,不赘述
- zeromq:c,c++,golang及nodejs使用
- zeroMQ初体验-1.简介及C/S模式
- ZeroMQ安装及使用
- 2017年的golang、python、php、c++、c、java、Nodejs性能对比
- golang指针的使用,类似C语言
- Golang 使用 C语言 简单操作
- nodejs使用C/C++三方库修改步骤
- Golang里调用C
- golang中调用C
- zeroMQ/jzmq REQ/REP(c/s)模式及java代码示例
- Golang 学习及使用
- C/C++网络编程总结与ZeroMQ
- C/C++网络编程总结与ZeroMQ
- C/C++网络编程总结与ZeroMQ
- C/C++网络编程总结与ZeroMQ
- centos6使用 swig3.0.6 编译c,golang 1.4.2调用
- Golang与C互用以及调用C的so动态库和a静态库
- C/C++调用Golang 一
- golang下的grpc
- C#实现实体类与字符串互相转换的方法
- 梳理3基于注解的控制器
- git hub 操作笔记
- 《剑指offer升级打怪》--链表
- zeromq:c,c++,golang及nodejs使用
- pycharm之PEP8编码风格
- [模板] 单源最短路径
- tp5异步上传图片到七牛云,就是那么简单
- Maven学习笔记(二)——Maven目录结构、pom.xml解析&基础命令(一)
- Html5 canvas学习4-图像
- 斯坦财经 GVE基金会亮相北京中关村出席区块链前沿技术论坛
- C语言学习_分离个十百位
- rabbitmq, windows/linux, c/c++/node.js/golang/dotnet