awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
aceld avatar

aceld/zinx

0
View on GitHub↗
7,730 stars·1,263 forks·Go·MIT·11 viewsgithub.com/aceld/zinx/wiki↗

Zinx

Zinx is a lightweight TCP server framework written in Go that provides a structured foundation for building scalable network applications. It combines a goroutine-pool worker model for concurrency control with message-ID-based routing, enabling efficient packet dispatching to registered handler functions.

The framework distinguishes itself through its modular plugin architecture, which organizes server components like routers, connections, and message modules as interchangeable plugins for extensibility. It uses packet-header length prefixing for reliable TCP stream framing, assigns a dedicated reader goroutine per connection for non-blocking I/O, and loads server parameters from a JSON configuration file at startup.

Zinx supports concurrent connection management, TCP client connections, and message routing by numeric identifier, providing the core building blocks for constructing TCP servers with controlled concurrency and modular design.

Features

  • Asynchronous TCP Frameworks - Provides a lightweight, modular framework for building TCP servers in Go with connection handling and message routing.
  • Length-Delimited Encodings - Encodes message length and ID in a fixed-size header for reliable packet framing over TCP streams.
  • Numeric Identifier Dispatch - Dispatches incoming data to registered handler functions based on a numeric message identifier.
  • Fixed-Size Pools - Provides a fixed goroutine pool for handling client requests, controlling concurrency in the TCP server.
  • Concurrent Connection Handling - Manages multiple TCP client connections concurrently in a Go server with efficient resource usage.
  • Goroutine-Per-Connection Models - Assigns a dedicated goroutine per TCP connection for continuous packet reading and non-blocking I/O.
  • Numeric Message Identifiers - Routes incoming packets to handler functions based on a numeric message identifier in the packet header.
  • TCP Client Connections - Establishes TCP connections to remote servers and sends messages with a specified message ID.
  • JSON-Driven Configuration Schemas - Loads server parameters from a JSON configuration file at startup, enabling runtime behavior changes.
  • Plugin-Based Architectures - Organizes server components as interchangeable plugins, supporting extensibility and custom implementations.
  • JSON Configuration Files - Reads server settings such as port, max connections, and log behavior from a JSON configuration file.
  • Game Server Frameworks - Lightweight TCP server framework for games.
  • Concurrency and Utilities - A framework for building high-concurrency TCP servers.

Star history

Star history chart for aceld/zinxStar history chart for aceld/zinx

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Zinx

Similar open-source projects, ranked by how many features they share with Zinx.
  • qihoo360/evppQihoo360 avatar

    Qihoo360/evpp

    3,767View on GitHub↗

    evpp is a C++ network library and framework designed for building high-performance network services using TCP, UDP, and HTTP protocols. It provides an asynchronous event loop to manage nonblocking I/O operations and concurrent network connections across multiple threads. The framework includes specialized tools for asynchronous DNS resolution and a system for asynchronous task scheduling using a managed thread pool. It also features a nonblocking HTTP server and client with integrated connection pooling. The project covers low-level transport layer connectivity for TCP and UDP, as well as hi

    C++
    View on GitHub↗3,767
  • twisted/twistedtwisted avatar

    twisted/twisted

    5,969View on GitHub↗

    Twisted is an event-driven networking engine for Python that provides a framework for building asynchronous network applications. At its core, it uses a reactor-based event loop to drive all input and output, dispatching callbacks in a single thread without blocking. The library implements a deferred promise chain for composing asynchronous logic, along with a protocol and factory pattern that separates connection state management from protocol handling, enabling reusable handlers for different network protocols. The framework supports multiple event loops across platforms, including select,

    Pythonasyncasync-pythondns
    View on GitHub↗5,969
  • walkor/workermanwalkor avatar

    walkor/workerman

    11,547View on GitHub↗

    Workerman is an event-driven asynchronous socket framework for PHP. It provides the core components necessary to build high-concurrency network servers, including an asynchronous TCP framework, a coroutine library for task management, and dedicated implementations for HTTP and WebSocket servers. The project enables the development of specialized network services using custom frame-based communication protocols. It supports both inbound concurrent server implementation and asynchronous outbound connectivity to remote services. The framework covers a broad range of network programming capabili

    PHPasynchronousevent-drivenhigh-performance
    View on GitHub↗11,547
  • dabeaz/curiodabeaz avatar

    dabeaz/curio

    4,126View on GitHub↗

    Curio is a Python library for structured concurrency and asynchronous network programming. It serves as a framework for handling thousands of simultaneous TCP connections using non-blocking sockets and high-throughput I/O. The library organizes asynchronous operations into a hierarchy of parent and child coroutines to ensure reliable termination and cleanup of dependent tasks. It provides a toolkit for coordinating these concurrent operations through the use of task groups and timeouts. The framework covers a broad range of concurrency management capabilities, including inter-task communicat

    Python
    View on GitHub↗4,126
See all 30 alternatives to Zinx→

Frequently asked questions

What does aceld/zinx do?

Zinx is a lightweight TCP server framework written in Go that provides a structured foundation for building scalable network applications. It combines a goroutine-pool worker model for concurrency control with message-ID-based routing, enabling efficient packet dispatching to registered handler functions.

What are the main features of aceld/zinx?

The main features of aceld/zinx are: Asynchronous TCP Frameworks, Length-Delimited Encodings, Numeric Identifier Dispatch, Fixed-Size Pools, Concurrent Connection Handling, Goroutine-Per-Connection Models, Numeric Message Identifiers, TCP Client Connections.

What are some open-source alternatives to aceld/zinx?

Open-source alternatives to aceld/zinx include: qihoo360/evpp — evpp is a C++ network library and framework designed for building high-performance network services using TCP, UDP,… twisted/twisted — Twisted is an event-driven networking engine for Python that provides a framework for building asynchronous network… walkor/workerman — Workerman is an event-driven asynchronous socket framework for PHP. It provides the core components necessary to build… rakyll/boom — Boom is a Go-based HTTP load generator and stress testing tool. It functions as a modern alternative to the… msgpack/msgpack — MessagePack is a binary object serialization library and a cross-platform data exchange format. It serves as a binary… dabeaz/curio — Curio is a Python library for structured concurrency and asynchronous network programming. It serves as a framework…