Cómo usar zeromq en Windows
Instrucciones para usar ZeroMQ con VS2008 en Windows
1. Descargue ZeroMQ
2 Compile el archivo de biblioteca ZeroMQ
Descomprima zeromq. 4.0.3 Archivo .zip, ingrese al directorio builds\msvc, abra el archivo de proyecto *.sln con VS, compile y genere la solución. Una vez completada la compilación, se generarán archivos dll y lib en el directorio lib
3 Escriba un proyecto de prueba simple
Use VS para crear 2 proyectos nuevos, uno es el lado del servidor. y el otro es el cliente
Copie los dos archivos "zmq.h" y "zmq_utils.h" en el directorio de inclusión del proyecto de código fuente ZeroMQ a su proyecto recién creado
Copie la biblioteca del proyecto de código fuente ZeroMQ. Copie los dos archivos "libzmq.dll" y "libzmq.lib" en el directorio de su proyecto recién creado
Agregue los archivos "zmq.h", "zmq_utils .h" y "libzmq.lib" Ingrese su propio proyecto nuevo.
Código de cliente:
#include
#include
#include
#include "zeroMQ/zmq.h"
#include "zeroMQ/zmq_utils.h"
int main(int argc,char** argv )
{
//variables relacionadas con zeroMQ
void * m_context;
void * m_subscriber;
char m_pubAddr[64];
m_context = zmq_init (1);
m_subscriber = zmq_socket (m_context, ZMQ_SUB);
//Suscribir
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("Información de publicación recibida: %s\n",buf);
}
zmq_close (m_subscriber);
zmq_term (m_context);
return 0;
}
6. Código del lado del servidor:
#include< stdio .h>
#include
#include
#include "zeroMQ/zmq.h" p >
#include "zeroMQ/zmq_utils.h"
int main(int argc,char** argv)
{
char pubLocalAddr[ 64 ] = {0};
sprintf(pubLocalAddr,"tcp://*:%d",8585);
//variables relacionadas con zeroMQ
void * m_context;
void * m_publisher;
m_context = zmq_init (1);
m_publisher = zmq_socket (m_context, ZMQ_PUB);
zm
q_bind (m_publisher, pubLocalAddr);
char *msg = "1231321";
while(1)
{
DWORD sendlen = zmq_send(m_publisher,msg,strlen(msg),0);
printf("Publicar información: %s\n",msg);
Sleep(1000);
}
zmq_close (m_publisher);
zmq_term (m_context);
devolver 1;
}