LinuxとmacOSでソケットや待受ポートを表形式で表示する、使いやすいnetstat代替ツール。
zeromq/libzmq
ZeroMQのC++コアライブラリ。標準的なソケットを拡張し、非同期メッセージキュー、各種メッセージングパターン、複数のトランスポートを提供します。
- スター
- 11,030
- フォーク
- 2,494
- 未解決の Issue
- 396
- 最終コミット
- 7 日前
これは何?
libzmqはZeroMQのコアとなるC++エンジンです。軽量なメッセージングライブラリとして、標準的なソケットインターフェースを、専用のメッセージングミドルウェアで一般的な機能で拡張します。ソケットは非同期メッセージキュー、複数のメッセージングパターン、サブスクリプションによるメッセージフィルタリング、複数のトランスポートプロトコルへのアクセスを提供します。ZMTP 3.1ワイヤープロトコルを実装しています。
ライブラリの大部分はC++98で書かれており、一部の機能では任意でC++11を使用できます。autotoolsまたはCMakeでビルドできます。LinuxとmacOS向けのビルド済みパッケージが提供されており、ほかのシステムではvcpkgやHomebrewからインストールできます。プロジェクトのドキュメントには、Linux、Windows、macOS、Androidのほか、複数のBSDおよびUnix系OSを含む対応プラットフォームが記載されています。
キュー基盤を自前で構築せずに、request-reply、publish-subscribe、パイプライン型のメッセージングで分散プロセスを接続したい場合に、開発者はlibzmqを利用します。他の言語向けのバインディングも、このコアライブラリを基盤としています。
主な機能
- 01標準的なソケットAPIを通じた非同期メッセージキュー
- 02request-reply、publish-subscribe、パイプラインなど複数のメッセージングパターン
- 03サブスクリプションによるメッセージフィルタリング
- 04複数のトランスポートプロトコルへのアクセス
- 05ZMTP 3.1ワイヤープロトコルの実装
- 06autotoolsまたはCMakeによるビルド
ユースケース
- プロセス間の非同期メッセージングによる分散サービスの接続
- ネットワークで接続されたコンポーネント間のpublish-subscribe型データフィードの構築
- ZeroMQを利用する言語バインディングのネイティブ基盤としての利用
クイックスタート
- 1
Homebrew を使って macOS にインストールする
brew install zeromq - 2
vcpkg リポジトリをクローンする
git clone https://github.com/microsoft/vcpkg.git - 3
vcpkg をブートストラップする(bash)
./bootstrap-vcpkg.sh - 4
vcpkg で zeromq をインストールする
./vcpkg install zeromq
使う前に知っておきたいこと
- ビルド済みバイナリパッケージは Linux と macOS 用のみ提供されています。それ以外のプラットフォームでは、ソースからビルドする必要があります。
- DRAFT API は予告なくいつでも変更される可能性があるため、使用を避けるには STABLE ビルドを使用してください。
収録されている特集
トピック
よくある質問
- libzmq とは?
- ZeroMQのC++コアライブラリ。標準的なソケットを拡張し、非同期メッセージキュー、各種メッセージングパターン、複数のトランスポートを提供します。 libzmqはZeroMQのコアとなるC++エンジンです。軽量なメッセージングライブラリとして、標準的なソケットインターフェースを、専用のメッセージングミドルウェアで一般的な機能で拡張します。ソケットは非同期メッセージキュー、複数のメッセージングパターン、サブスクリプションによるメッセージフィルタリング、複数のトランスポートプロトコルへのアクセスを提供します。ZMTP 3.1ワイヤープロトコルを実装しています。
- libzmq は無料で使えますか?ライセンスは?
- libzmq は MPL-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- libzmq は今もメンテナンスされていますか?
- 活発にメンテナンス中。libzmq の最終コミットは 2026年10月18日 です。
- libzmq は何に使えますか?
- プロセス間の非同期メッセージングによる分散サービスの接続 ネットワークで接続されたコンポーネント間のpublish-subscribe型データフィードの構築 ZeroMQを利用する言語バインディングのネイティブ基盤としての利用
- libzmq のインストール方法は?
- Homebrew を使って macOS にインストールする: brew install zeromq vcpkg リポジトリをクローンする: git clone https://github.com/microsoft/vcpkg.git vcpkg をブートストラップする(bash): ./bootstrap-vcpkg.sh vcpkg で zeromq をインストールする: ./vcpkg install zeromq
- libzmq はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/zeromq/libzmq
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
信頼性の高いネットワークアプリケーションの構築に役立つ、タスクスケジューリング、ノンブロッキングI/O、ネットワーク、タイマーを提供するRust向け非同期ランタイムです。
長時間稼働するTCP、UDP、HTTP、WebSocketサービスの構築に使える、イベント駆動型ネットワークエンジンとコルーチンランタイムを提供するPHP拡張です。
ゼロトラストネットワーク経由で、ファイアウォールやポートフォワーディングの設定なしに、ローカルのWebサービス、ファイル、TCP/UDPリソースを安全に共有できます。
サイドカーを通じて、分散アプリケーションやAIエージェントに耐障害性のあるワークフロー、サービス間セキュリティ、状態管理、Pub/Subを提供するポータブルなランタイムです。
IoTや産業向けメッセージングに対応する、分散型のErlangベースMQTTブローカー。MQTT 3.1、3.1.1、5.0をサポート。