Project Icon

jeromq

ZeroMQ的纯Java实现,高性能消息传递库

JeroMQ是ZeroMQ的纯Java实现,提供高性能消息传递功能。支持ZMTP/3.0协议和多种传输方式,实现PLAIN和CURVE安全机制。性能表现优异,每秒处理450万条100字节消息。提供与原生ZeroMQ相同的开发体验,支持Maven和Ant构建。适用于Java环境下需要高效消息传递的应用场景。

JeroMQ

libzmq (http://zeromq.org) 的纯Java实现。

CircleCI Quality Gate Status Coverage Status Maven Central Javadocs

特性

  • 基于libzmq 4.1.7。

  • 支持ZMTP/3.0 (http://rfc.zeromq.org/spec:23)。

  • tcp://协议和inproc://协议与zeromq兼容。

  • ipc://协议仅在jeromq之间工作(内部使用tcp://127.0.0.1:port)。

  • 安全机制

  • 性能相比原生libzmq并不差。

  • 与zeromq和jzmq提供完全相同的开发体验。

  • TCP KeepAlive计数、空闲时间和间隔时间仅在JVM 13及以后版本中可用。

不支持的功能

  • 与zeromq的ipc://协议。Java不支持UNIX域套接字。

  • pgm://协议。找不到pgm的Java实现。

  • norm://协议。找不到Java实现。

  • tipc://协议。找不到Java实现。

  • GSSAPI机制尚未实现。

  • 仍不支持中断线程:库不是线程中断安全的。

贡献

欢迎贡献!有关贡献过程和有用的开发任务的详细信息,请参阅CONTRIBUTING.md

使用方法

Maven

将以下内容添加到Maven项目的pom.xml中:

    <dependency>
      <groupId>org.zeromq</groupId>
      <artifactId>jeromq</artifactId>
      <version>0.6.0</version>
    </dependency>

    <!-- 对于最新的SNAPSHOT版本 -->
    <dependency>
      <groupId>org.zeromq</groupId>
      <artifactId>jeromq</artifactId>
      <version>0.6.0</version>
    </dependency>

    <!-- 如果找不到最新的快照版本 -->
    <repositories>
      <repository>
        <id>sonatype-nexus-snapshots</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <releases>
          <enabled>false</enabled>
        </releases>
        <snapshots>
          <enabled>true</enabled>
        </snapshots>
       </repository>
    </repositories>

Ant

要从pom.xml生成ant构建文件,请执行以下命令:

mvn ant:ant

入门

简单示例

以下是如何实现一个打印接收到的消息并回复"Hello, world!"的服务器:

import org.zeromq.SocketType;
import org.zeromq.ZMQ;
import org.zeromq.ZContext;

public class hwserver
{
    public static void main(String[] args) throws Exception
    {
        try (ZContext context = new ZContext()) {
            // 用于与客户端通信的套接字
            ZMQ.Socket socket = context.createSocket(SocketType.REP);
            socket.bind("tcp://*:5555");

            while (!Thread.currentThread().isInterrupted()) {
                // 阻塞等待接收消息
                byte[] reply = socket.recv(0);

                // 打印消息
                System.out.println(
                    "Received: [" + new String(reply, ZMQ.CHARSET) + "]"
                );

                // 发送响应
                String response = "Hello, world!";
                socket.send(response.getBytes(ZMQ.CHARSET), 0);
            }
        }
    }
}

更多示例

JeroMQ的zguide示例翻译是推荐用法的良好参考。

文档

有关API级文档,请参阅Javadocs

本仓库还有一个doc文件夹,其中包含各种"如何做X"指南以及与使用JeroMQ相关的其他有用主题信息。

许可证

所有源文件的版权归属于2007-2024年的贡献者,详见AUTHORS文件。

本软件的免费使用遵循Mozilla公共许可证2.0的条款。详情请参阅JeroMQ发行版中包含的LICENSE文件。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号