Cellnet is a component-based, highly extensible networking library for Go designed for building high-performance server applications.
The library addresses the need for flexible network communication in server environments by providing a modular architecture centered on two core abstractions: Processor and Peer. This design allows developers to extend functionality horizontally to meet different network encapsulation requirements. The tool supports multiple transport protocols including TCP with reconnection and graceful restart capabilities, UDP for raw packet transmission, HTTP with graceful restart and mixed encoding support, and WebSocket. For data encoding, cellnet offers built-in support for Google Protobuf, JSON for third-party service communication, a custom binary protocol optimized for internal network transmission, and ProtoPlus, an enhanced Protobuf variant. A distinctive feature is mixed encoding support, enabling simultaneous transmission and reception of different packet formats at runtime without code changes, requiring only adjustments to message registration.
Cellnet suits game server development, ARM device communication, and securities software requiring internal RPC. The library is particularly valuable for projects needing custom protocol definition, rapid construction of logic servers and gateway servers, inter-server communication, third-party SDK integration, and protocol conversion. The queue-based message processing architecture supports multiple threading models: single-threaded asynchronous logic for complex MMORPG interactions without locking, multi-threaded synchronous logic for independent goroutine-based processing, and fully concurrent message handling suitable for gateways and HTTP servers. The tool provides both synchronous RPC for sequential inter-server requests and asynchronous RPC for single-threaded server logic. Message logging enables detailed inspection of individual fields in sent and received messages.
The project maintains steady development activity with regular commits addressing both bug fixes and feature enhancements. The codebase shows consistent refinement of core networking components and protocol handling. Documentation is actively maintained with guides for protocol buffer setup and architectural explanations. Community engagement appears moderate, with the project serving established use cases in game development and enterprise environments rather than pursuing rapid growth.