学习网址: http://zguide.zeromq.org/page:all -- 上面有源码DEMO 及各个语言版本 http://www.oschina.net/code/snippet_259747_19677 -- 若你是C语言,需要这个安装包
在 E:\delcode\json\abc\zmq\include\zhelpers.h
复制到 E:\delcode\ZeroMQ\zguide-master\examples\C\zhelpers.h 到文件夹中,因为 在 s_recv (void *socket) 中有return strndup (buffer, sizeof(buffer) - 1); 编译通不过,所以 更改为
if (size > 255)
size = 255;
buffer [size] = 0;
return strdup(buffer);
若报SOCKET之类的参数定义重叠,将 zmq.h 中的 //#include
To build on Windows:在WINDOWS上面使用:
You need Visual Studio 2008 or later.在编译的时候 ,提示需要 E:\delcode\ZeroMQ\zeromq-4.1.5\builds\msvc\vs2010 libsodium.dll 于是先找到 libsodium
https://github.com/jedisct1/libsodium -- libsodium 下载地址 libsodium 是一个先进而且易用的加密库。主要用于加密、解密、签名和生成密码哈希等等。这是一个可移植的、跨编译器支持、可安装的,基于 NaCI 开发,提供一个兼容 API。zeromq安装中提示缺少libsodium,make install之后还是还是提示缺少 如果用不上加密功能,在编译选项中去掉就OK了 确实,如果学习zeroMQ,可以去掉libsodium编译选项就可以了。
下面为打开libsodium时,遇到 的问题:
选择的文件是解决方案文件,但是用此应用程序的较新版本创建的,无法打开 -- 解决方案:在VS中关于VS中,查看版本,更改 libsodium.sln目文件包含 ToolsVersion="14.0"。此工具集可能未知或缺失(您可以通过安装相应版本的 MSBuild 来解决该问题),或者该生成因策略原因已被强制更改为特殊 ToolsVersion。将此项目视作具有 ToolsVersion="4.0"。有关更多信息 -- .vcxproj 中的 ToolsVersion="4.0"
学习笔记:
内部原理 SOCKET连接 -- SOCKET连向哪里,就用哪个 SOCKET来通信连接
第一种模式:ZMQ_REQ ZMQ_REP 中,TCP连哪一个,就和哪一个建立了连接通信,会有一个数据缓存在那里
Here's the server. We'll use port 5556 for this application:
第二种方式:客户端发过后,收到就收到,没收到就没收到
rc = zmq_setsockopt (subscriber, ZMQ_SUBSCRIBE,filter, strlen (filter)); //! filter 只为发送的数据前面的空格以前的
zookeeper 网址 http://zookeeper.apache.org/
https://github.com/apache/zookeeper/blob/trunk/src/c/src/zookeeper.c