zeromq java 怎么使用安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zeromq java 怎么使用安装相关的知识,希望对你有一定的参考价值。

先装JDK吧,这样才能装java软件
选择好安装路径。安装到计算机上。下来进行一些设置。首先右键点我的电脑。打开属性。然后选择“高级”里面的“环境变量”,在新的打开界面中的系统变量需要设置三个属性“java_home”、“path”、“classpath”,其中在没安装过jdk的环境下。path属性是本来存在的。而 java_home和classpath是不存在的。
首先点“新建”,然后在变量名写上java_home,顾名其意该变量的含义就是java的安装路径,呵呵,然后在变量值写入刚才安装的路径“C:\\jdk1.6”.
其次在系统变量里面找到path,然后点编辑,path变量的含义就是系统在任何路径下都可以识别java命令,则变量值为“% java_home%\\bin;%java_home%\\jre\\bin”,(其中“%java_home%”的意思为刚才设置java_home的值),也可以直接写上“C:\\jdk1.6\\bin”
最后再点“新建”,然后在变量名上写classpath,该变量的含义是为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。其值为“.;%java_home%\\lib;%java_home%\\lib\\ tools.jar (要加.表示当前路径)”,与相同“%java_home%有相同意思”
以上三个变量设置完毕,则按“确定”直至属性窗口消失,下来是验证看看安装是否成功。先打开“开始”->“运行”,打入“cmd”,进入dos系统界面。然后打“java -version”,如果安装成功。系统会显示java version jdk"1.6.0"。
确保安装在C盘文件名为jdk1.6,环境变量直接复制就可以了

还有在c盘下保存下面的代码,文件名为Myjava.java的文件。
public class Myjava
public static void main(String args[])
System.out.println("试试看,装好了吗?.");



进入cmd 打

c:
cd\\
javac Myjava.java
java Myjava

如果出现 试试看,装好了吗?
就说明安装好了,可以用了
参考技术A 一、下载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;
参考技术B

    ZeroMQ介绍

    ZeroMQ是一个开源的消息队列系统,按照官方的定义,它是一个消息通信库,帮助开发者设计分布式和并行的应用程序。

    首先,我们需要明白,ZeroMQ不是传统的消息队列系统(比如ActiveMQ、WebSphereMQ、RabbitMQ等)。ZeroMQ可以帮助我们建立自己的消息队列系统,它只是一个库。

    ZeroMQ可以运行于带x86处理器或ARM处理器的机器上,支持40多种编程语言。

    消息队列,从技术的角度来讲,是以先进先出FIFO算法为基础的队列技术,它有着良好的数据结构。除此以外,还有优先级队列、双端队列等队列技术。不管怎么样,其基本思想是把数据添加到队列中,接收端准备好以后,从队列中取回数据。

    采用消息队列技术可以保证无论发生了什么,消息都会被交付到目的地。

    消息队列允许松耦合的组件之间进行异步通信,还提供了坚实的队列一致性。如果资源不足,会阻止你立即处理发送的数据,你可以把消息放入消息队列服务器,由消息队列服务器来存储数据,直到目的地准备好接收消息。

    消息队列在大规模分布式系统和异步通信中扮演着重要的角色。

    ZeroMQ特征

    1)ZeroMQ很简单

    我们可以做异步I/O操作,ZeroMQ可以在一个I/O线程中把消息队列化。ZeroMQ的I/O线程是异步的,当处理网络交通时,它可以帮助我们完成很多剩余的工作。

    2)ZeroMQ相当快

    Second Life网站有13.4毫秒的端到端延时和高达每秒410万条消息的处理量。ZeroMQ能使用广播传输协议——它是把数据传输到多个目的地的好方法。

    3)无代理设计

    与其它传统的消息队列系统不同,ZeroMQ是无代理式的。传统的消息队列系统,通常都有中央消息服务器(Broker),每个节点都连接到这个中央节点,每个节点都通过中央节点与其它节点通信,而不是节点间彼此直接通信。

    而ZeroMQ是无代理式的,应用程序彼此可以直接通信,无需通过中间代理Broker。

    注意:ZeroMQ不会在磁盘上存储消息。但是,可以通过使用本地交换文件的方式存储消息。设置zmq.SWAP。

    准备条件

    OS:CentOS 6.5 x64

    ZeroMQ:4.0.4版

    安装ZeroMQ

    1)下载ZeroMQ

    执行命令:

    $ wget http://download.zeromq.org/zeromq-4.0.4.tar.gz

    2)解压ZeroMQ

    $ tar zvxf zeromq-4.0.4.tar.gz  
    $ mv zeromq-4.0.4 zeromq  
    $ cd zeromq

    3)编译安装

    $ ./configure  
    ......  
    checking for gcc... no  
    checking for cc... no  
    checking for cl.exe... no  
    configure: error: in `/home/chuser/zeromq':  
    configure: error: no acceptable C compiler found in $PATH  
    See `config.log' for more details

    提示缺少C编译器,先安装GCC。

    $ sudo yum install gcc

    安装OK!再次执行

    $ ./configure  
    ......  
    checking whether the C++ compiler works... no  
    configure: error: Unable to find a working C++ compiler

    提示缺少C++编译器,先安装G++。

    $ sudo yum install gcc-c++

    安装OK!再次执行


    $ ./configure  
    $ make  
    $ sudo make install

参考技术C 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#include#include#include"zeroMQ/zmq.h"#include"zeroMQ/zmq_utils.h"intmain(intargc,char**argv)//zeroMQ相关变量void*m_context;void*m_subscriber;charm_pubAddr[64];m_context=zmq_init(1);m_subscriber=zmq_socket(m_context,ZMQ_SUB);//订阅char*puberIP="127.0.0.1";WORDpuberPort=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);intret=zmq_setsockopt(m_subscriber,ZMQ_SUBSCRIBE,NULL,0);while(1)BYTEbuf[1024]=0;DWORDbuflen=sizeof(buf);DWORDgotLen=zmq_recv(m_subscriber,buf,buflen,0);printf("收到发布信息:%s\n",buf);zmq_close(m_subscriber);zmq_term(m_context);return0;6.server端代码:#include#include#include#include"zeroMQ/zmq.h"#include"zeroMQ/zmq_utils.h"intmain(intargc,char**argv)charpubLocalAddr[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)DWORDsendlen=zmq_send(m_publisher,msg,strlen(msg),0);printf("发布信息:%s\n",msg);Sleep(1000);zmq_close(m_publisher);zmq_term(m_context);return1; 参考技术D 之前在安装zeromq的时候费了好大的力气才算装好,后来还是通过ITjob的老师帮忙下才安装好

下面来回顾一下在linux安装zeromq的过程
首先
http://download.zeromq.org/
1.下载最新版的zeromq
http://download.zeromq.org/zeromq-3.1.0-beta.tar.gz
2 解压
tar -xvf zeromq-3.1.0-beta.tar.gz
3 运行configure
./configure --prefix=/data/zeromq (prefix 指定安装目录)
4. make
5. make install
6. 设置环境变量
export CPPFLAGS=-I/home/mine/0mq/include/
export LDFLAGS=-L/home/mine/0mq/lib/

7.测试代码
server.c
#######################################
#include </data/zeromq/include/zmq.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
int main (void)

void *context = zmq_init (1);
// Socket to talk to clients
void *responder = zmq_socket (context, ZMQ_REP);
zmq_bind (responder, "tcp://192.168.0.185:5555");
printf("binding on port 5555.\nwaiting client send message...\n");
while (1)
// Wait for next request from client
zmq_msg_t request;
zmq_msg_init (&request);
char buf[32];
zmq_recv (responder,buf, &request, 0);
int size = zmq_msg_size (&request);
char *string = malloc (size + 1);
memset(string,0,size+1);
memcpy (string, zmq_msg_data (&request), size);
printf ("Received Hello string=[%s]\n",string);
free(string);
zmq_msg_close (&request);
// Do some 'work'
sleep (1);
// Send reply back to client
zmq_msg_t reply;
char res[128]=0;
snprintf(res,127,"reply:%d",random());
zmq_msg_init_size (&reply, strlen(res));
memcpy (zmq_msg_data (&reply), res, strlen(res));
char buf2[32];
zmq_send (responder, buf2, &reply, 0);
zmq_msg_close (&reply);

// We never get here but if we did, this would be how we end
zmq_close (responder);
zmq_term (context);
return 0;


########################################################
#client.c
#include <zmq.h>
#include <string.h>
#include <stdio.h>
#include <unistd.h>
int main ()

void *context = zmq_init (1); // Socket to talk to server
printf ("Connecting to hello world server...\n");
void *requester = zmq_socket (context, ZMQ_REQ);
zmq_connect (requester, "tcp://192.168.0.185:5555");
int request_nbr;
for (request_nbr = 0; request_nbr != 10; request_nbr++)

zmq_msg_t request;
zmq_msg_init_data (&request, "Hello", 6, NULL, NULL);
printf ("Sending request %d...\n", request_nbr);
zmq_send (requester, &request, 0,0);
printf("send over") ;
zmq_msg_close (&request);
zmq_msg_t reply;
zmq_msg_init (&reply);
zmq_recv (requester, &reply, 0,0);
printf ("Received reply %d: [%s]\n", request_nbr, (char *) zmq_msg_data (&reply));
zmq_msg_close (&reply);

zmq_close (requester);
zmq_term (context);
return 0;


gcc server.c -o server -lzmq -L/data/zeromq/lib -I/data/zeromq/include
gcc client.c -o client -lzmq -L/data/zeromq/lib -I/data/zeromq/include

./server
./client本回答被提问者采纳

以上是关于zeromq java 怎么使用安装的主要内容,如果未能解决你的问题,请参考以下文章

centos安装zeromq, jzmq

centos8 安装ZeroMQ 使用 gozmq

zeromq 一问一答 为啥是阻塞的

zeromq为啥要cas

zeromq使用模式实验总结

安装storm集群