Hello ZeroMQ

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

1/* 2 ============================================================================ 3 Name        : veto_mq_server.c 4 Author      : yanrui 5 Version     : 6 Copyright   : 2015-2050 7 Description : Hello World in C, Ansi-style 8 ============================================================================ 9 */ 10 11 12#include <stdio.h> 13#include <unistd.h> 14#include <string.h> 15#include <assert.h> 16//########################### 17#include <zmq.h> 18#include <zmq_utils.h> 19//########################### 20 21#include "veto_mq_utils.h" 22 23int main (void) 24{ 25 // 26 print_zmq_version(); 27    //  Socket to talk to clients 28    void *context = zmq_ctx_new (); 29    void *responder = zmq_socket (context, ZMQ_REP); 30    int rc = zmq_bind (responder, "tcp://*:5555"); 31    assert (rc == 0); 32 33    while (1) { 34        char buffer [10]; 35        zmq_recv (responder, buffer, 10, 0); 36 37        printf ("Received Hello \n"); 38        sleep (1);          //  Do some 'work' 39        zmq_send (responder, "World", 5, 0); 40    } 41    return 0; 42} 43 44/* 45 ============================================================================ 46 Name        : veto_mq_client.c 47 Author      : yanrui 48 Version     : 49 Copyright   : 2015-2050 50 Description : Hello World in C, Ansi-style 51 ============================================================================ 52 */ 53 54 55#include <string.h> 56#include <stdio.h> 57#include <unistd.h> 58 59#include <zmq.h> 60#include <zmq_utils.h> 61 62int main(void) { 63 64  printf ("Connecting to hello world server...\n"); 65     void *context = zmq_ctx_new (); 66     void *requester = zmq_socket (context, ZMQ_REQ); 67     zmq_connect (requester, "tcp://localhost:5555"); 68 69     int request_nbr; 70     for (request_nbr = 0; request_nbr != 10; request_nbr++) { 71         char buffer [10]; 72         printf ("Sending Hello %d...\n", request_nbr); 73         zmq_send (requester, "Hello", 5, 0); 74         zmq_recv (requester, buffer, 10, 0); 75         printf ("Received World %d\n", request_nbr); 76     } 77     zmq_close (requester); 78     zmq_ctx_destroy (context); 79 80 return 0; 81}
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )