文档章节

Hello ZeroMQ

RiboseYim
 RiboseYim
发布于 2016/03/20 01:45
字数 276
阅读 198
收藏 3

Hello ZeroMQ World !


安装

git clone --depth=1 https://github.com/imatix/zguide.git

./configure

make

make install

C Project 添加库


gcc -L/usr/local/lib -o "veto_mq_server"  ./src/veto_mq_server.o  -lzmq


可能的异常:库路径、名称错误

Undefined symbols for architecture x86_64:

"_zmq_bind", referenced from:

_main in veto_mq_server.o

"_zmq_ctx_new", referenced from:

_main in veto_mq_server.o

"_zmq_recv", referenced from:

_main in veto_mq_server.o

"_zmq_send", referenced from:

_main in veto_mq_server.o

"_zmq_socket", referenced from:

_main in veto_mq_server.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

Hello World Demo

/*
 ============================================================================
 Name        : veto_mq_server.c
 Author      : yanrui
 Version     :
 Copyright   : 2015-2050
 Description : Hello World in C, Ansi-style
 ============================================================================
 */


#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <assert.h>
//###########################
#include <zmq.h>
#include <zmq_utils.h>
//###########################

#include "veto_mq_utils.h"

int main (void)
{
	//
	print_zmq_version();
    //  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 == 0);

    while (1) {
        char buffer [10];
        zmq_recv (responder, buffer, 10, 0);

        printf ("Received Hello \n");
        sleep (1);          //  Do some 'work'
        zmq_send (responder, "World", 5, 0);
    }
    return 0;
}

/*
 ============================================================================
 Name        : veto_mq_client.c
 Author      : yanrui
 Version     :
 Copyright   : 2015-2050
 Description : Hello World in C, Ansi-style
 ============================================================================
 */


#include <string.h>
#include <stdio.h>
#include <unistd.h>

#include <zmq.h>
#include <zmq_utils.h>

int main(void) {

	 printf ("Connecting to hello world server...\n");
	    void *context = zmq_ctx_new ();
	    void *requester = zmq_socket (context, ZMQ_REQ);
	    zmq_connect (requester, "tcp://localhost:5555");

	    int request_nbr;
	    for (request_nbr = 0; request_nbr != 10; request_nbr++) {
	        char buffer [10];
	        printf ("Sending Hello %d...\n", request_nbr);
	        zmq_send (requester, "Hello", 5, 0);
	        zmq_recv (requester, buffer, 10, 0);
	        printf ("Received World %d\n", request_nbr);
	    }
	    zmq_close (requester);
	    zmq_ctx_destroy (context);

		return 0;
}


© 著作权归作者所有

RiboseYim
粉丝 79
博文 78
码字总数 179042
作品 0
广州
程序员
私信 提问
ZeroMQ学习:window下编译zeromq-3.2.3和jzmq-master

最近发现公司项目中用的activemq队列总出现这样那样的问题,可能没有相关告诉解决,很是头疼。作为个人来说也很想寻找一款跨语言、高速的消息队列“玩一玩”,发现zeromq比较满足这个要求。 ...

DEC_LIU
2013/09/05
4.7K
0
[架构] ZeroMQ 深度探索(一)

序 最初认识 ZeroMQ 是被它的名号所吸引,最近在一个高性能中间件的项目中用到了 ZeroMQ,对这个号称“史上最快的消息队列”有了更深层次的了解。如果我们仅仅把 ZeroMQ 看作是一个消息队列,...

长平狐
2013/07/01
8.1K
0
[架构] ZeroMQ 深度探索(二)

在上一篇《 ZeroMQ 深度探索(一)》中,我们使用 ZeroMQ 完成了基本的“请求-响应”模式,这个例子是基于 TCP 协议的,用法和原生的 Socket API 也差不多,都是“初始化、绑定或连接、发送、...

长平狐
2013/07/01
6.7K
2
高性能的通讯库-zeroMQ的几个高性能特征

这两天研究了一下zeroMQ,号称史上最好的通讯库,比rabbitMQ快很多,基于c语言开发的,实时流处理sorm的task之间的通信就是用的zeroMQ。 zeroMQ在使用模式上支持多种,有req-reply,publish...

天下杰论
2014/10/08
494
0
评估了zeromq 和nanomsg -- 两个凡是

本来比较偏好 C 开发的nanomsg 如果zeromq是C开发的, 毫无疑问zeromq 但是 nanomsg 验证不够 根据调查, zeromq胜出 虽然我非常讨厌C++

宏哥
2016/12/31
2.3K
3

没有更多内容

加载失败,请刷新页面

加载更多

《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
6
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0
OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
1K
11
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
40
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部