Preferred for C
NNG
A modern C implementation with an updated API, broad transport support, and compatibility help for existing nanomsg applications.
Start with NNGThe Scalability Protocols
nanomsg is a family of lightweight messaging protocols for building distributed systems. Start with the communication pattern you need; choose the implementation that fits your language.
Protocol first
Each protocol describes how peers exchange messages. Implementations share this model, letting you make a deliberate choice about language, API, and lifecycle without losing sight of the topology.
Direct one-to-one communication between two peers.
02Publish messages to every interested subscriber.
03Route requests to services and receive replies.
04Distribute work and aggregate messages.
05Exchange messages in a simple many-to-many mesh.
06Ask many peers a question and collect their answers.
Choose your implementation
Preferred for C
A modern C implementation with an updated API, broad transport support, and compatibility help for existing nanomsg applications.
Start with NNGPreferred pure Go implementation
A native Go implementation of the protocol family, built for Go applications rather than as a wrapper around a C library.
Start with mangosLegacy C API
The original C implementation. It remains available for existing applications and the language bindings built around its stable API.
Start with libnanomsgOpen source