littlebot
Published on 2025-04-10 / 0 Visits
0

【源码】基于C语言的下一代纳米消息协议库

项目简介

本项目为 nng(nanomsg-next-gen),是对 "libnanomsg" 的 SP 协议库的重写。目前处于预发布阶段,虽不适用于生产环境,但可用于开发。项目旨在构建高效、稳定的网络消息库,支持多种网络协议和功能。

项目的主要特性和功能

  1. 支持 PAIR、PUB/SUB、REQ/REP、管道模式等多种网络协议。
  2. 支持 WebSocket 和 WebSocket Secure(wss)协议。
  3. 可在 ZeroTier 网络等环境使用。
  4. 可编译支持 TLS,启用 "tls+tcp://" 和 "wss://" 方案。
  5. 有详细全面的测试代码,保障库的正确性和稳定性。
  6. 提供公共 API 的 nng.h 头文件,以及与旧版 nanomsg 兼容的 nng_compat.h 头文件。

安装使用步骤

假设你已下载本项目的源码文件。

编译环境要求

需要 CMake 3.1 及以上版本,建议使用 Ninja 以加快编译速度。

编译步骤

在 Linux/UNIX 系统上,若已安装 Ninja,按以下步骤编译和测试: sh $ mkdir build $ cmake -G Ninja.. $ ninja $ ninja test

启用 TLS 支持

若需编译支持 TLS 的版本,可在配置时添加 -DNNG_ENABLE_TLS=ON 参数: sh $ cmake -G Ninja -DNNG_ENABLE_TLS=ON.. 注意,NNG_ENABLE_TLS 依赖于 mbedTLS 库,该库在许多系统中以打包形式提供,也可针对其他系统进行构建。同时,mbedTLS 库有其他许可要求(Apache 或 GPL),请留意许可影响。

查看文档

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】