zoukankan      html  css  js  c++  java
  • zeromq:c,c++,golang及nodejs使用

    官网: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.0uildsmingw32

    c.make -f Makefile.mingw32不通过

    4.编辑Makefile.mingw32,加入gather.o scatter.o dgram.o

    5.生成的libzmq.dll.a拷贝到C:TDM-GCC-64lib

    6.生成的libzmq.dll拷贝到C:TDM-GCC-64in

    6.zeromq-4.2.0include下的文件拷贝到C:TDM-GCC-64include

    下面测试demo:

    cd srcgithub.compebbezmq4examples

    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的例子很容易测试通过,不赘述

  • 相关阅读:
    linux下mysql安装
    出现GC overhead limit exceeded 的解决方案
    什么是OOM?如何解决OOM问题!
    老司机告诉你:别再被忽悠,汽车节气门这样洗最养车
    HDU 4352 XHXJ's LIS(数位dp&状态压缩)
    Linux bash: scp: command not found的问题记录
    Codeforces Round #315 (Div. 2)
    【营销】非常重要
    firebug的应用
    powerdesigner中实现PDM到MYSQl数据库的转换
  • 原文地址:https://www.cnblogs.com/wjx0912/p/6124390.html
Copyright © 2011-2022 走看看