當前位置:編程學習大全網 - 源碼下載 - windows下怎麽使用zeromq

windows下怎麽使用zeromq

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;

}

  • 上一篇:跑跑卡丁車在倒記時的時候掉線
  • 下一篇:軟件著作權登記申請的註意事項都有哪些?
  • copyright 2024編程學習大全網