windows下怎么使用zeromq
2016-10-30 18:30
726 查看
Windows下VS2008使用ZeroMQ说明
一、下载ZeroMQ
二、编译ZeroMQ库文件
解压zeromq-4.0.3.zip文件,进入builds\msvc目录,用VS打开*.sln工程文件,编译生成解决方案。编译完成后,会在lib目录下生成dll和lib文件
三、编写简单的测试工程
用VS新建2个项目,一个是server端,一个是client端
将ZeroMQ源码项目的include目录下的两个文件“zmq.h”,“zmq_utils.h”拷贝至自己新建的工程
将ZeroMQ源码项目的lib目录下的两个文件“libzmq.dll”,“libzmq.lib”拷贝至自己新建的工程
将文件“zmq.h”,“zmq_utils.h”和“libzmq.lib”添加进自己新建的项目。
client端代码:
#include <stdio.h>
#include <iostream>
#include <string.h>
#include "zeroMQ/zmq.h"
#include "zeroMQ/zmq_utils.h"
int main(int argc,char** argv)
{
//zeroMQ相关变量
void * m_context;
void * m_subscriber;
char m_pubAddr[64];
m_context = zmq_init (1);
m_subscriber = zmq_socket (m_context, ZMQ_SUB);
//订阅
char * puberIP = "127.0.0.1";
WORD puberPort = 8585;
memset(m_pubAddr,0,sizeof(m_pubAddr));
sprintf(m_pubAddr,"tcp://%s:%d",puberIP,puberPort);
//zmq_connect (m_subscriber, "tcp://localhost:5556");
zmq_connect (m_subscriber, m_pubAddr);
int ret = zmq_setsockopt (m_subscriber, ZMQ_SUBSCRIBE, NULL, 0);
while(1)
{
BYTE buf[1024] = {0};
DWORD buflen = sizeof(buf);
DWORD gotLen = zmq_recv(m_subscriber,buf,buflen,0);
printf("收到发布信息:%s\n",buf);
}
zmq_close (m_subscriber);
zmq_term (m_context);
return 0;
}
6.server端代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include "zeroMQ/zmq.h"
#include "zeroMQ/zmq_utils.h"
int main(int argc,char** argv)
{
char pubLocalAddr[64] = {0};
sprintf(pubLocalAddr,"tcp://*:%d",8585);
//zeroMQ相关变量
void * m_context;
void * m_publisher;
m_context = zmq_init (1);
m_publisher = zmq_socket (m_context, ZMQ_PUB);
zmq_bind (m_publisher, pubLocalAddr);
char *msg = "1231321";
while(1)
{
DWORD sendlen = zmq_send(m_publisher,msg,strlen(msg),0);
printf("发布信息:%s\n",msg);
Sleep(1000);
}
zmq_close (m_publisher);
zmq_term (m_context);
return 1;
}
一、下载ZeroMQ
二、编译ZeroMQ库文件
解压zeromq-4.0.3.zip文件,进入builds\msvc目录,用VS打开*.sln工程文件,编译生成解决方案。编译完成后,会在lib目录下生成dll和lib文件
三、编写简单的测试工程
用VS新建2个项目,一个是server端,一个是client端
将ZeroMQ源码项目的include目录下的两个文件“zmq.h”,“zmq_utils.h”拷贝至自己新建的工程
将ZeroMQ源码项目的lib目录下的两个文件“libzmq.dll”,“libzmq.lib”拷贝至自己新建的工程
将文件“zmq.h”,“zmq_utils.h”和“libzmq.lib”添加进自己新建的项目。
client端代码:
#include <stdio.h>
#include <iostream>
#include <string.h>
#include "zeroMQ/zmq.h"
#include "zeroMQ/zmq_utils.h"
int main(int argc,char** argv)
{
//zeroMQ相关变量
void * m_context;
void * m_subscriber;
char m_pubAddr[64];
m_context = zmq_init (1);
m_subscriber = zmq_socket (m_context, ZMQ_SUB);
//订阅
char * puberIP = "127.0.0.1";
WORD puberPort = 8585;
memset(m_pubAddr,0,sizeof(m_pubAddr));
sprintf(m_pubAddr,"tcp://%s:%d",puberIP,puberPort);
//zmq_connect (m_subscriber, "tcp://localhost:5556");
zmq_connect (m_subscriber, m_pubAddr);
int ret = zmq_setsockopt (m_subscriber, ZMQ_SUBSCRIBE, NULL, 0);
while(1)
{
BYTE buf[1024] = {0};
DWORD buflen = sizeof(buf);
DWORD gotLen = zmq_recv(m_subscriber,buf,buflen,0);
printf("收到发布信息:%s\n",buf);
}
zmq_close (m_subscriber);
zmq_term (m_context);
return 0;
}
6.server端代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include "zeroMQ/zmq.h"
#include "zeroMQ/zmq_utils.h"
int main(int argc,char** argv)
{
char pubLocalAddr[64] = {0};
sprintf(pubLocalAddr,"tcp://*:%d",8585);
//zeroMQ相关变量
void * m_context;
void * m_publisher;
m_context = zmq_init (1);
m_publisher = zmq_socket (m_context, ZMQ_PUB);
zmq_bind (m_publisher, pubLocalAddr);
char *msg = "1231321";
while(1)
{
DWORD sendlen = zmq_send(m_publisher,msg,strlen(msg),0);
printf("发布信息:%s\n",msg);
Sleep(1000);
}
zmq_close (m_publisher);
zmq_term (m_context);
return 1;
}
相关文章推荐
- windows下怎么使用zeromq
- 怎么使用Windows Azure Queue Storage 服务
- windows 环境变量被改变了,不能使用cmd ?怎么办?
- wpf怎么使用WindowsFormsHost(使用WinForms中的控件)
- wpf怎么使用WindowsFormsHost
- Windows下VS2008使用ZeroMQ 4.1.4
- 如果不用MFC,直接使用API写一个Windows程序,需哪些步骤?MFC是怎么做到菜单点击后,响应对应的代码的?
- Windows脚本中怎么使用逗号
- 使用Windows EFS(怎么给文件夹加密)进行文件加密
- Win10安卓模拟器怎么用?Windows 10安卓模拟器使用教程详解(图文)
- 怎么在windows下使用vim + git 查看管理代码?
- (Windows)使用纯净版本的系统碟安装系统后没有网卡驱动怎么办?
- 在Windows操作系统下使用Visual C++ 6.0编程时,如果点击菜单中的【打开】或者【添加】,或者按快捷键,都会弹出一个对话框,怎么解决?
- win7中的Windows Easy Transfer怎么使用?
- Windows 10怎么使用智能的靠近屏幕边缘自动排列窗口?
- 求助:windows平台下怎么正确编译及使用faac源代码
- ZeroMQ实例-使用ZeroMQ进行windows与linux之间的通信
- windows下,怎么使用管理员运行cmd.exe程序。
- CMake在Windows下怎么学习使用