zeromq学习笔记2——简单的客户端和服务端测试程序

简介:

1、前言

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

2、测试程序

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

hwserver代码如下:

复制代码
 1 #include <stdio.h>                                                                                                                                                          
 2 #include <unistd.h>                                                                                    
 3 #include <string.h>                                                                                    
 4 #include <assert.h>                                                                                    
 5 #include <zmq.h>                                                                                     
 6                                                                                                        
 7 int main (void)                                                                                        
 8 {                                                                                                      
 9     //  Socket to talk to clients                                                                      
10     void *context = zmq_ctx_new ();                                                                    
11     void *responder = zmq_socket (context, ZMQ_REP);                                                   
12     int rc = zmq_bind (responder, "tcp://*:5555");                                                     
13     assert (rc == 0);                                                                                  
14                                                                                                        
15     while (1) {                                                                                        
16         char buffer [10];                                                                              
17         zmq_recv (responder, buffer, 10, 0);                                                           
18         printf ("Received Hello\n");                                                                   
19         sleep (1);          //  Do some 'work'                                                         
20         zmq_send (responder, "World", 5, 0);                                                           
21     }                                                                                                  
22     return 0;                                                                                          
23 }
复制代码

hwclient代码如下:

复制代码
 1 //  Hello World client                                                                                                                                                      
 2 #include <zmq.h>                                                                                       
 3 #include <string.h>                                                                                    
 4 #include <stdio.h>                                                                                     
 5 #include <unistd.h>                                                                                    
 6                                                                                                        
 7 int main (void)                                                                                        
 8 {                                                                                                      
 9     printf ("Connecting to hello world server…\n");                                                   
10                                                                                                        
11     /*创建一个新的上下文*/                                                                             
12     void *context = zmq_ctx_new ();                                                                    
13     void *requester = zmq_socket (context, ZMQ_REQ);                                                   
14     /*通过tcp协议,5555端口,连接本机服务端*/                                                          
15     zmq_connect (requester, "tcp://localhost:5555");                                                   
16                                                                                                        
17     int request_nbr;                                                                                   
18     for (request_nbr = 0; request_nbr != 10; request_nbr++) {                                          
19         char buffer [10];                                                                              
20         printf ("Sending Hello %d…\n", request_nbr);                                                  
21         zmq_send (requester, "Hello", 5, 0);                                                           
22         zmq_recv (requester, buffer, 10, 0);                                                           
23         printf ("Received World %d\n", request_nbr);                                                   
24     }                                                                                                  
25                                                                                                        
26     zmq_close (requester);                                                                             
27     zmq_ctx_destroy (context);                                                                         
28                                                                                                        
29     return 0;                                                                                          
30 }                       
复制代码

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,执行结果如下所示:

相关文章
|
安全 JavaScript 前端开发
AppSpider 7.5.020 发布 - Web 应用程序安全测试
AppSpider 7.5.020 for Windows - Web 应用程序安全测试
73 0
|
2月前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
99 4
|
6月前
|
监控 安全 测试技术
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
205 14
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
|
7月前
|
安全 测试技术 Linux
Acunetix v25.4 发布 - Web 应用程序安全测试
Acunetix v25.4 (Linux, Windows) - Web 应用程序安全测试
227 3
Acunetix v25.4 发布 - Web 应用程序安全测试
|
6月前
|
安全 Devops 测试技术
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
144 0
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
|
9月前
|
安全 JavaScript Java
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
162 12
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
|
8月前
|
自然语言处理 安全 测试技术
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
556 0
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
|
10月前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
332 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
11月前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
546 13
|
12月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
413 1
下一篇
oss云网关配置