1、前言

  zeromq提供了guide,http://zguide.zeromq.org/,可以帮助新手快速上手,提供了C\C++\PHP等多种语言。

2、测试程序

使用zeromq给的hwserver和hwclient的C语言测试程序。

hwserver代码如下:

 #include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <assert.h>
#include <zmq.h> int main (void)
{
// Socket to talk to clients
void *context = zmq_ctx_new ();
void *responder = zmq_socket (context, ZMQ_REP);
int rc = zmq_bind (responder, "tcp://*:5555");
assert (rc == ); while () {
char buffer [];
zmq_recv (responder, buffer, , );
printf ("Received Hello\n");
sleep (); // Do some 'work'
zmq_send (responder, "World", , );
}
return ;
}

hwclient代码如下:

 //  Hello World client
#include <zmq.h>
#include <string.h>
#include <stdio.h>
#include <unistd.h> int main (void)
{
printf ("Connecting to hello world server…\n"); /*创建一个新的上下文*/
void *context = zmq_ctx_new ();
void *requester = zmq_socket (context, ZMQ_REQ);
/*通过tcp协议,5555端口,连接本机服务端*/
zmq_connect (requester, "tcp://localhost:5555"); int request_nbr;
for (request_nbr = ; request_nbr != ; request_nbr++) {
char buffer [];
printf ("Sending Hello %d…\n", request_nbr);
zmq_send (requester, "Hello", , );
zmq_recv (requester, buffer, , );
printf ("Received World %d\n", request_nbr);
} zmq_close (requester);
zmq_ctx_destroy (context); return ;
}

3、编译执行

我是将zeromq安装在/usr/local/zeromq目录下,Makefile中设置了include和lib的连接,编码正常通过,但是在执行时候提示:

[root@localhost hwserver]# ./hwserver
./hwserver: error while loading shared libraries: libzmq.so.5: cannot open shared object file: No such file or directory

网上查了一下,发现是没有将zeromq的lib路径添加到 ld.so.conf 。

参考:http://blog.csdn.net/guoyilongedu/article/details/17450815

将libzeromq.so的路径添加涛ld.so.conf中,操作步骤如下:

进入到 etc 下  cd /etc

编辑 ld.so.conf ,sudo vim ld.so.conf

加入 libzmq.so 的路径  /usr/local/zeromq/lib

保存之后 再执行命令ldconfig

执行完成后,编译成功:

启动hwserver和hwclient,执行结果如下所示:

最新文章

  1. PHP运算符
  2. Java反射遍历数组
  3. windows系统查看80端口被占用的程序并结束该程序运行
  4. SAP debug的几种方式
  5. 运行javascript的方式
  6. $(document).ready()与 window.onload执行时机
  7. linux 进程间信号量管理程序之sem_timedwait使用
  8. sql server 深入使用 总结 part1
  9. Eclipse 在线安装fat jar插件
  10. Android---Parcelable包装类的作用
  11. JVM-垃圾收集的过程
  12. 通过maven profile 打包指定环境配置
  13. 让CPU占用率曲线听你指挥
  14. Problem: Time(一道水却有意思的题
  15. C++ Primer 笔记——关联容器
  16. GNU make使用(二)
  17. Python基础(一)_数据类型、条件判断、循环、列表
  18. JVM垃圾回收机制之引用类型
  19. 本地绑定域名及host做快速解析与域名屏蔽处理
  20. 四种方式实现波浪效果(CSS效果)

热门文章

  1. C++ code:浮点数的比较(Floating-Pointing Number Comparison)
  2. python3笔记(二)Python语言基础
  3. ASP.NET Global.asax详解【转】
  4. 2017-2018-2 20155309 南皓芯 Exp7 网络欺诈防范
  5. spring-boot集成spring-data-jpa
  6. Spring的控制反转和依赖注入
  7. day8--socketserver回顾
  8. BZOJ2243 洛谷2486 [SDOI2011]染色 树链剖分
  9. What Are You Talking About HDU1075
  10. Scrapy爬虫笔记 - 爬取知乎