nanomsg在windows下的编译使用
来源:互联网 发布:linux tomcat 安装 编辑:程序博客网 时间:2024/06/09 17:38
将nanomsg编译成lib库后调用即可。
#include <windows.h>#include <cassert>#include <cstdio>#include <ctime>#include <nanomsg/nn.h>#include <nanomsg/pubsub.h>#include <iostream>#pragma comment(lib, "nanomsg.lib")#define SERVER "server"#define CLIENT "client"char *date(){ time_t raw = time(&raw); struct tm *info = localtime(&raw); char *text = asctime(info); text[strlen(text) - 1] = '\0'; // remove '\n' return text;}int server(const char *url){ int sock = nn_socket (AF_SP, NN_PUB); assert (sock >= 0); assert (nn_bind (sock, url) >= 0); while (1) { char *d = date(); int sz_d = strlen(d) + 1; // '\0' too printf_s("SERVER: PUBLISHING DATE %s\n", d); int bytes = nn_send (sock, d, sz_d, 0); assert (bytes == sz_d); Sleep(1000); // 1 s } return nn_shutdown (sock, 0);}int client (const char *url, const char *name){ int sock = nn_socket (AF_SP, NN_SUB); assert (sock >= 0); // TODO learn more about publishing/subscribe keys assert (nn_setsockopt (sock, NN_SUB, NN_SUB_SUBSCRIBE, "", 0) >= 0); assert (nn_connect (sock, url) >= 0); while (1) { char *buf = NULL; int bytes = nn_recv (sock, &buf, NN_MSG, 0); assert (bytes >= 0); printf_s ("CLIENT (%s): RECEIVED %s\n", name, buf); nn_freemsg (buf); } return nn_shutdown (sock, 0);}int main(int argc, char** argv){ printf_s("Hello, insigmaudpserver...\n"); printf_s("argc: %d\n", argc); if (strncmp (SERVER, argv[1], strlen (SERVER)) == 0 && argc >= 2) return server (argv[2]); else if (strncmp (CLIENT, argv[1], strlen (CLIENT)) == 0 && argc >= 3) return client (argv[2], argv[3]); else { fprintf(stderr, "Usage: pubsub %s|%s <URL> <ARG> ...\n", SERVER, CLIENT); return 1; } //return 0;}
0 1
- nanomsg在windows下的编译使用
- Linux 下nanomsg 编译及使用笔记
- nanomsg的使用与分析
- 四种环境下编译nanomsg库
- cscope在windows下使用mingw编译的方法
- OpenSSL在Windows下使用vs2010的编译安装
- FFMpeg在windows下的编译和使用
- FFMpeg在windows下的编译和使用
- 在windows下使用eclipse编译VDSP工程的方法
- FFMpeg在windows下的编译和使用
- boost 在windows下的编译及使用
- Lua cjson库在windows下的编译与使用
- zlib库 在windows下的编译与使用
- 关于OPENSSL在WINDOWS下编译和使用的坑
- stm32 在windows下 使用gcc 编译的makefile脚本
- QtXlsx在Windows x64下的编译配置及使用
- zlib库 在windows下的编译与使用
- boost库在windows下的编译和使用
- LaneWechat框架的网页授权getCode错误
- Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'
- 微信公众号开发教程详细完整第1篇
- [qt] 高仿360安全卫士
- Js 在字符串中提取数字
- nanomsg在windows下的编译使用
- 白话机器学习
- input不可编辑
- MySQL查询
- Android Service 音乐播放器
- 如何在RecyclerView上面实现"拖放"和"滑动删除"-2
- Leetcode 216. Combination Sum III
- 输出和引入js文件 module.exports
- h1z1账号异常绑定手机验证失败 忘记密保怎么办