awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
davyxu avatar

davyxu/cellnet

0
View on GitHub↗
4,061 星标·875 分支·Go·MIT·4 次浏览

Cellnet

Cellnet 是一个 Go 网络框架,专为构建分布式系统和点对点网络而设计。它提供了一个多协议传输层,标准化了 TCP、UDP 和 WebSocket 之间的消息交换,并利用二进制消息编解码系统将消息类型映射到网络传输的唯一标识符。

该框架的特色在于其远程过程调用(RPC)库,它支持使用同步或异步请求模式在远程对等点上执行函数。它还通过异步事件调度器进一步区分,该调度器通过顺序执行模型处理网络回调,以管理并发性和线程安全。

其更广泛的功能包括通过可插拔序列化编解码器进行自定义网络协议开发、带有会话跟踪和重连逻辑的自动化对等点连接管理,以及用于引导网络流量的基于处理器的路由系统。它还集成了用于监控对等点健康状况、记录网络流量以及通过 HTTP 提供文件服务的工具。

Features

  • Peer Connection Management - Manages the full lifecycle of network connections across multiple protocols with automatic reconnection and graceful restarts.
  • Peer-to-Peer Networking Libraries - Implements a comprehensive networking library for managing bidirectional peer-to-peer connections across TCP, UDP, and WebSockets.
  • Binary Serialization Codecs - Provides a pluggable system of binary serialization codecs for translating structured messages into raw byte arrays for network transmission.
  • Protocol Serialization Encoders - Supports the use of multiple encoding schemes within a single session for network message serialization.
  • Data Serialization Codecs - Implements a pluggable codec system allowing multiple serialization formats to be used for different peers simultaneously.
  • Message Queues - Assigns incoming socket messages to specific queues to control concurrency and distribute logic across multiple threads.
  • Binary Data Encoding - Transforms data into compact binary formats for network transmission using a flexible encoder system.
  • Custom Network Protocols - Provides a framework for defining specialized packet formats and serialization codecs for custom communication rules.
  • Distributed Systems and Peer-to-Peer - Provides a framework for decentralized data exchange and coordination between peers in a distributed system.
  • General Network Listeners - Accepts multiple network connections from remote peers on a specified address using a dedicated listener.
  • In-Process Message Routing - Routes incoming data through in-process execution models to handle concurrency and shared state without manual locking.
  • Message Encoders and Decoders - Provides a system to define and register new data serialization formats for network communication.
  • Message Routing - Implements a handler-based system for directing network packets across diverse communication channels.
  • Multi-Protocol Connection Managers - Maintains network sessions with automatic reconnection and timeout logic across TCP, UDP, and WebSockets using a unified interface.
  • Network Message Transmission - Provides mechanisms to transmit data packets to connected peers using a codec for structured message encoding.
  • Networking Frameworks - Provides a unified Go-based toolkit for building distributed systems using multiple transport protocols.
  • Multi-Protocol Transport Abstraction - Standardizes message exchange through an abstraction layer that works across TCP, UDP, and WebSockets.
  • Outbound Connection Dialing - Provides primitives for initiating outbound connections to remote peers across various transport protocols.
  • Peer-to-Peer Messaging - Enables direct communication and broadcasting of data packets between connected peers in a P2P network.
  • Remote Procedure Call Frameworks - Provides a high-performance binary RPC framework for transmitting requests and receiving responses across the network.
  • Remote Procedure Calls - Provides a remote procedure call mechanism for invoking functions on remote peers using a standardized binary protocol.
  • Synchronous and Asynchronous RPC - Enables remote function execution using both synchronous requests for immediate retrieval and asynchronous calls for non-blocking logic.
  • Asynchronous Event Queueing - Dispatches network events and callbacks through a centralized queue to maintain a logical execution order.
  • Queue-Based Dispatchers - Ships an asynchronous event dispatcher that processes network callbacks through a sequential queue to ensure thread safety.
  • Data Serialization Formats - Serializes and deserializes messages using binary or text formats to ensure consistent data exchange.
  • Transport-Agnostic Interfaces - Provides a transport-agnostic interface that wraps TCP, UDP, and WebSockets into a unified abstraction for message exchange.
  • Handler-Based Routing - Implements a handler-based routing system that directs incoming packets to specific logic blocks using unique message IDs.
  • Binary Packet Parsing - Implements binary packet parsing using length-prefix and message identifiers to resolve fragmentation and identify payload types.
  • Messaging Queues - Implements thread-safe message queues that block receiving processes until data is available.
  • Asynchronous Task Schedulers - Manages timed events and asynchronous logic through a centralized event queue and dispatcher.
  • Automatic Reconnection - Automatically restores dropped or failed network connections after a configurable duration.
  • Websocket Connection Managers - Provides a WebSocket connection manager for peer-to-peer networking with session access, upgrades, and automated reconnection.
  • Messaging Protocol Translation - Converts diverse wire-format encodings into unified internal structures to simplify communication with different servers.
  • Custom Transport Protocols - Allows the implementation of custom transport protocols by wrapping third-party libraries into a unified interface.
  • Direct UDP Peer Links - Establishes direct peer-to-peer network sessions over UDP with time-to-live settings to control session lifespans.
  • Concurrency-Managed Message Queues - Routes incoming messages through asynchronous or concurrent queues to manage state and locking efficiently.
  • Peer Connection Managers - Manages TCP peer connection pools with configurable buffer sizes and timeout logic to facilitate stable communication.
  • Session Lifecycle Tracking - Monitors connection events like initialization and closure to react to changes in peer state.
  • Packet Processing Frameworks - Offers a programmable framework for defining custom packet processing and protocol encapsulation between business and transport layers.
  • Reconnection Scheduling - Controls the interval at which a disconnected peer attempts to re-establish a network link.
  • Transport Layer Customizations - Allows customization of peers and codecs to integrate non-standard transport layers or specialized data formats.
  • Connection Timeout Management - Sets read and write deadlines on sockets to ensure stale connections are closed and resources are recovered.
  • Asynchronous Event Dispatchers - Processes network callbacks through a sequential execution model and task queue to ensure thread safety and concurrency.
  • Asynchronous Task Processing - Queues function callbacks for execution in background workers to maintain system responsiveness.
  • Message Type Registrations - Associates message types with unique IDs and codecs to enable consistent serialization and routing across the network.
  • Network Traffic Logging - Captures and records individual fields of sent and received messages for debugging and auditing.
  • Message Identifier Generators - Provides tools to generate source files that bind messages to a codec system for automatic network recognition.
  • Endpoint Health Monitoring - Verifies if network endpoints are ready for communication and captures IO-level errors to maintain stability.
  • Network Lifecycle Events - Processes internal system notifications like connection successes and session closures using a unified message mechanism.
  • Game Server Frameworks - Event-driven game server framework for Go.

Star 历史

davyxu/cellnet 的 Star 历史图表davyxu/cellnet 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Cellnet 的开源替代方案

相似的开源项目,按与 Cellnet 的功能重合度排序。
  • grpc/grpc-gogrpc 的头像

    grpc/grpc-go

    22,962在 GitHub 上查看↗

    grpc-go is a Go language implementation of the gRPC framework, providing a remote procedure call library for high-performance service communication. It uses the HTTP/2 protocol to execute functions on remote servers as if they were local methods and utilizes protobuf service bindings to generate type-safe client and server code. The project features a bidirectional streaming transport that supports asynchronous, full-duplex message streams between clients and servers. This networking layer allows for various communication patterns, including client-to-server and server-to-client streaming, to

    Godogs-over-catsgiant-robotsgo
    在 GitHub 上查看↗22,962
  • perlin-network/noiseperlin-network 的头像

    perlin-network/noise

    1,826在 GitHub 上查看↗

    Noise is a peer-to-peer networking stack written in Go designed for building decentralized systems. It provides a framework for managing node lifecycles, establishing encrypted communication channels, and facilitating direct data exchange between distributed nodes without reliance on central authorities. The library distinguishes itself through a modular architecture that allows developers to stack custom communication layers, enabling the creation of specialized network protocols. It incorporates a decentralized key-value lookup system for peer discovery and routing, alongside cryptographic

    Gocryptographygolangnetwork
    在 GitHub 上查看↗1,826
  • name5566/leafname5566 的头像

    name5566/leaf

    5,513在 GitHub 上查看↗

    Leaf is a game server framework written in Go designed for building multiplayer game backends. It provides a modular backend architecture that organizes server logic into independent modules and includes a concurrent task scheduler for managing ordered, delayed, or recurring functions. The framework features a TCP and WebSocket server that manages simultaneous connections through a single interface. It incorporates a message router capable of decoding Protobuf and JSON data to map incoming network packets to specific internal server modules. The system includes capabilities for multi-protoco

    Go
    在 GitHub 上查看↗5,513
  • socketcluster/socketclusterSocketCluster 的头像

    SocketCluster/socketcluster

    6,197在 GitHub 上查看↗

    Highly scalable realtime pub/sub and RPC framework

    JavaScriptdockerframeworkjavascript
    在 GitHub 上查看↗6,197
查看 Cellnet 的所有 30 个替代方案→

常见问题解答

davyxu/cellnet 是做什么的?

Cellnet 是一个 Go 网络框架,专为构建分布式系统和点对点网络而设计。它提供了一个多协议传输层,标准化了 TCP、UDP 和 WebSocket 之间的消息交换,并利用二进制消息编解码系统将消息类型映射到网络传输的唯一标识符。

davyxu/cellnet 的主要功能有哪些?

davyxu/cellnet 的主要功能包括:Peer Connection Management, Peer-to-Peer Networking Libraries, Binary Serialization Codecs, Protocol Serialization Encoders, Data Serialization Codecs, Message Queues, Binary Data Encoding, Custom Network Protocols。

davyxu/cellnet 有哪些开源替代品?

davyxu/cellnet 的开源替代品包括: grpc/grpc-go — grpc-go is a Go language implementation of the gRPC framework, providing a remote procedure call library for… perlin-network/noise — Noise is a peer-to-peer networking stack written in Go designed for building decentralized systems. It provides a… socketcluster/socketcluster — Highly scalable realtime pub/sub and RPC framework. name5566/leaf — Leaf is a game server framework written in Go designed for building multiplayer game backends. It provides a modular… open62541/open62541 — open62541 is an open-source implementation of the OPC Unified Architecture standard, providing a complete stack for… bluesky-social/atproto — atproto is a decentralized social networking protocol implementation and a schema-driven API framework. It provides…