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

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
panjf2000 avatar

panjf2000/gnet

0
View on GitHub↗
11,186 stars·1,117 forks·Go·Apache-2.0·12 vuesgnet.host↗

Gnet

gnet is a high-performance event-driven networking framework for Go, designed for building scalable TCP, UDP, and Unix socket servers. It functions as a non-blocking socket manager and multi-reactor network engine that handles thousands of simultaneous connections with low memory overhead.

The framework distinguishes itself by using a multi-reactor architecture that distributes I/O across multiple event loops pinned to operating system threads to minimize context switching. It employs edge-triggered polling to reduce system call frequency and utilizes elastic ring-buffers to minimize allocation costs and garbage collection pressure.

The library covers a broad range of networking capabilities, including load-balanced connection distribution across CPU cores, asynchronous task execution via worker pools, and a structured system for connection lifecycle management. It also provides primitives for implementing custom binary protocols and managing low-level socket options.

Features

  • Multi-Reactor Implementations - Implements a multi-reactor architecture that distributes network I/O across multiple parallel event loops.
  • Go Event-Driven Networking Frameworks - Provides a high-performance Go framework for building scalable, non-blocking TCP, UDP, and Unix socket servers.
  • Non-Blocking TCP Servers - Functions as a non-blocking socket manager capable of handling thousands of simultaneous connections with low overhead.
  • Event-Driven Networking - Implements a high-performance runtime model for handling concurrent connections using non-blocking I/O.
  • High-Concurrency Networking - Designed to manage massive numbers of simultaneous TCP and UDP connections with minimal memory overhead.
  • Multi-Transport Support - Enables seamless communication over TCP, UDP, and Unix Domain Sockets.
  • Socket Event Handling - Processes asynchronous read, write, and error events on network sockets to maintain data flow.
  • Non-Blocking Socket I/O - Provides asynchronous reading and writing of network sockets to handle thousands of concurrent connections without stalling.
  • TCP and Unix Socket Listeners - Supports accepting incoming traffic through both standard TCP ports and local Unix domain sockets.
  • Edge-Triggered I/O Pollers - Uses edge-triggered polling to minimize system calls by only notifying the application when socket states change.
  • Network Event Monitoring Schedulers - Utilizes low-level schedulers to monitor file descriptors for read, write, and close events.
  • Thread-Pinned Loops - Binds event loops to specific operating system threads to minimize context switching and improve cache locality.
  • Elastic Ring Buffers - Employs expandable circular buffers to manage data streams and reduce garbage collection pressure.
  • Event-Driven Task Dispatching - Provides a mechanism to send tasks to specific event loops for thread-safe connection management.
  • Event Loop Load Balancers - Distributes incoming network traffic across multiple internal event loops to optimize resource utilization.
  • Connection Lifecycle Managers - Tracks active network sockets and manages the connection lifecycle, including termination and state management.
  • Custom Protocol Implementations - Provides primitives for designing and implementing custom application-specific binary communication protocols.
  • Infrastructure Optimizations - Uses thread-pinning and edge-triggered I/O to maximize throughput and minimize system call frequency for low-latency performance.
  • Network Listeners - Configures and creates network listeners with custom socket options for address reuse and buffer sizing.
  • Socket Option Configurations - Sets low-level socket parameters such as keep-alive and address reuse to tune network stack interaction.
  • Asynchronous Task Execution - Schedules and executes non-blocking tasks within the event loop using a priority-based poller.
  • Connection Indexing Systems - Implements high-concurrency lookup structures to track and access active network connections in constant time.
  • Event Loop Concurrency - Controls the number of event-loop threads and distributes connections to ensure efficient processing power.
  • Concurrent Task Execution - Implements a worker pool to execute multiple concurrent background operations to increase throughput.
  • Reusable Buffer Pools - Minimizes allocation costs by employing reusable buffer structures that adapt to incoming network data.
  • Networking Libraries - High-performance, event-driven networking framework.
  • Network Libraries - High-performance, non-blocking event-driven Go network framework.
  • Bibliothèques réseau - Event-driven, non-blocking networking framework.

Historique des stars

Graphique de l'historique des stars pour panjf2000/gnetGraphique de l'historique des stars pour panjf2000/gnet

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait panjf2000/gnet ?

gnet is a high-performance event-driven networking framework for Go, designed for building scalable TCP, UDP, and Unix socket servers. It functions as a non-blocking socket manager and multi-reactor network engine that handles thousands of simultaneous connections with low memory overhead.

Quelles sont les fonctionnalités principales de panjf2000/gnet ?

Les fonctionnalités principales de panjf2000/gnet sont : Multi-Reactor Implementations, Go Event-Driven Networking Frameworks, Non-Blocking TCP Servers, Event-Driven Networking, High-Concurrency Networking, Multi-Transport Support, Socket Event Handling, Non-Blocking Socket I/O.

Quelles sont les alternatives open-source à panjf2000/gnet ?

Les alternatives open-source à panjf2000/gnet incluent : cloudwego/netpoll — Netpoll is an event-driven network framework and non-blocking I/O library designed to manage concurrent TCP and Unix… tidwall/evio — Evio is a high-performance networking library for Go that provides a non-blocking socket framework. It utilizes an… chenshuo/muduo — Muduo is a C++11 event-driven network library and framework designed for building high-concurrency Linux servers. It… walkor/workerman — Workerman is an event-driven asynchronous socket framework for PHP. It provides the core components necessary to build… yuesong-feng/30daymakecppserver — This project is a C++ TCP server framework and educational socket programming guide. It provides a high-performance… riba2534/tcp-ip-networknote — TCP-IP-NetworkNote is a comprehensive technical reference and guide for implementing network communication using TCP…

Alternatives open source à Gnet

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Gnet.
  • cloudwego/netpollAvatar de cloudwego

    cloudwego/netpoll

    4,583Voir sur GitHub↗

    Netpoll is an event-driven network framework and non-blocking I/O library designed to manage concurrent TCP and Unix domain socket connections. It utilizes a non-blocking event loop to monitor file descriptors and trigger callbacks for read and write events, serving as a high-performance socket manager and TCP network poller. The framework optimizes throughput across CPU cores by distributing incoming network connections across multiple pollers. It implements zero-copy networking primitives, using linked buffers and specialized memory management to read and write data while minimizing memory

    Go
    Voir sur GitHub↗4,583
  • tidwall/evioAvatar de tidwall

    tidwall/evio

    6,034Voir sur GitHub↗

    Evio is a high-performance networking library for Go that provides a non-blocking socket framework. It utilizes an event loop to process TCP, UDP, and Unix domain socket traffic through a low-level asynchronous protocol interface. The project functions as a multi-core network load balancer, distributing connections across multiple CPU cores using round-robin or least-connections strategies. It supports socket reuse, allowing multiple sockets on a single host to bind to the same port. The library covers a broad range of socket management and packet processing capabilities, including multi-pro

    Gonetworking
    Voir sur GitHub↗6,034
  • chenshuo/muduoAvatar de chenshuo

    chenshuo/muduo

    16,157Voir sur GitHub↗

    Muduo is a C++11 event-driven network library and framework designed for building high-concurrency Linux servers. It provides a toolkit for implementing scalable network services and socket communication using non-blocking I/O and asynchronous event processing. The framework implements a multi-threaded TCP server architecture that distributes connection handling across multiple CPU threads to maximize server throughput. This is achieved through a one-loop-per-thread model and a reactor pattern implementation, which dispatch network events from a central demultiplexer to registered handler fun

    C++
    Voir sur GitHub↗16,157
  • walkor/workermanAvatar de walkor

    walkor/workerman

    11,547Voir sur 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
    Voir sur GitHub↗11,547
Voir les 30 alternatives à Gnet→