15 dépôts
Libraries providing non-blocking TCP and UDP socket implementations for specific operating systems.
Distinct from Socket Communication: The candidates are either too generic (async programming) or too narrow (UDP only); this captures the identity as a general-purpose async socket library.
Explore 15 awesome GitHub repositories matching networking & communication · Asynchronous Socket Libraries. Refine with filters or upvote what's useful.
CocoaAsyncSocket is a networking library for macOS and iOS that provides core components for managing asynchronous TCP and UDP streams. It implements non-blocking network communication to maintain application responsiveness during data transfers, featuring a delegate-based system for managing connection streams and packet handling. The library includes a secure communication layer that wraps TCP sockets to apply encryption standards, protecting client and server traffic from unauthorized interception. Its capabilities cover non-blocking connection management for both stream-based TCP and pac
Provides a core networking library for macOS and iOS that handles asynchronous TCP and UDP communications.
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
An event-driven framework providing non-blocking TCP and UDP socket implementations for building high-concurrency servers in PHP.
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 allocati
Functions as a non-blocking socket manager capable of handling thousands of simultaneous connections with low overhead.
ReactPHP is an asynchronous runtime and event-driven I/O framework for PHP. It provides an environment for executing concurrent tasks through a central event loop implementation and reactor pattern, allowing applications to handle multiple operations without pausing the main execution thread. The project includes a specialized asynchronous socket library for TCP, UDP, and TLS communication, alongside a non-blocking HTTP server and client for streaming web requests and responses. Its capability surface covers asynchronous control flow via promises and fibers, non-blocking network connectivity
Provides a specialized toolset for non-blocking TCP, UDP, and TLS network connections.
Swift NIO is a low-level, event-driven network framework for the Swift language. It serves as an asynchronous network protocol stack and I/O library designed to build high-performance network servers and clients that handle thousands of simultaneous connections. The framework functions as a high-concurrency network engine that dispatches events across multiple CPU cores. It enables the implementation of custom network protocols by processing raw bytes through a sequence of reusable data transformation handlers. The system provides capabilities for non-blocking I/O multiplexing, asynchronous
Enables the construction of event-driven servers and clients capable of high-concurrency input and output.
AndroidAsync is a non-blocking networking library for Android that provides asynchronous sockets, HTTP clients, and servers based on Java NIO. It serves as a toolkit for managing raw TCP socket connections and bidirectional data streams using an asynchronous input and output architecture. The library includes a dedicated WebSocket framework for establishing persistent full-duplex communication channels between Android clients and servers. It also enables the hosting of a lightweight asynchronous HTTP server directly on an Android device to handle incoming network traffic. Its broader capabil
Ships as a low-level tool for managing raw TCP socket connections using an asynchronous I/O architecture.
Smallchat is a minimal implementation of a concurrent network server and TCP-based chat system designed as a demonstration of C socket programming. It provides a basic server and client architecture that enables real-time text communication between multiple connected users. The project focuses on the implementation of a networked chat server that handles simultaneous client sessions. It utilizes a centralized broadcasting model to route incoming text from one client to all other active participants. The system manages concurrent client connections and session tracking using socket descriptor
Provides a minimal implementation of a networked TCP chat server and client.
MQTTnet is a comprehensive MQTT library for .NET that supports both client and broker roles in a single codebase. It provides a full-featured broker implementation capable of hosting a server with access control, message interception, session persistence, and support for mixed MQTT protocol versions. The client side offers robust publish-subscribe communication with automatic reconnection that preserves quality-of-service guarantees, ensuring reliable message delivery across network interruptions. The library distinguishes itself with a plugin-based authentication pipeline for validating clie
Manages network I/O with non-blocking sockets to handle thousands of concurrent connections without blocking threads.
Netpoll est un framework réseau piloté par les événements et une bibliothèque d'E/S non bloquantes conçue pour gérer les connexions TCP et Unix domain socket concurrentes. Il utilise une boucle d'événements non bloquante pour surveiller les descripteurs de fichiers et déclencher des callbacks pour les événements de lecture et d'écriture, servant de gestionnaire de socket haute performance et de poller réseau TCP. Le framework optimise le débit à travers les cœurs CPU en distribuant les connexions réseau entrantes à travers plusieurs pollers. Il implémente des primitives réseau zéro-copie, utilisant des tampons liés et une gestion mémoire spécialisée pour lire et écrire des données tout en minimisant les allocations mémoire et la duplication de données. La bibliothèque fournit une suite complète de capacités pour la gestion du cycle de vie des connexions, incluant la numérotation sortante, la configuration keepalive et les contrôles de délai d'expiration basés sur les échéances. Elle optimise davantage les performances via la mise en cache des objets de connexion, les opérations d'E/S vectorisées et les stratégies d'équilibrage de charge pour distribuer le trafic à travers les boucles d'événements. Le projet inclut des utilitaires pour gérer le déploiement de serveur, tels que des mécanismes pour un arrêt gracieux en détachant les écouteurs et en attendant l'achèvement des connexions actives.
Implements TCP servers that use asynchronous I/O to handle many concurrent connections without blocking threads.
Janet est un langage de programmation dynamique basé sur Lisp présentant une machine virtuelle de bytecode basée sur des registres et un moteur de scripting intégrable. Il fonctionne comme un runtime de concurrence basé sur des fibres et inclut un moteur d'analyse basé sur des Parsing Expression Grammars (PEG). Le projet se distingue par sa capacité à être intégré dans des applications C ou C++ via une interface d'en-tête minimale. Il utilise un système de macros de style Lisp pour la transformation de code à la compilation et emploie l'héritage de table basé sur des prototypes pour un comportement orienté objet. Le runtime couvre un large ensemble de capacités, incluant la gestion d'IO asynchrone via une boucle d'événements non bloquante, l'interopérabilité de bibliothèque native via une interface de fonction étrangère (FFI) et un traitement de texte complet utilisant des grammaires PEG. Il fournit également des outils pour l'automatisation système, tels qu'une boucle read-eval-print (REPL), un système de module pour la résolution de symboles et des utilitaires pour la communication par socket réseau et la gestion du système de fichiers. L'environnement inclut des outils de diagnostic pour le débogage de l'exécution de bytecode et peut bundler le code source en exécutables binaires autonomes.
Implements non-blocking TCP sockets to create reliable byte streams between clients and servers.
Curio est une bibliothèque Python dédiée à la concurrence structurée et à la programmation réseau asynchrone. Elle sert de framework pour gérer des milliers de connexions TCP simultanées grâce à des sockets non bloquants et des entrées/sorties à haut débit. La bibliothèque organise les opérations asynchrones dans une hiérarchie de coroutines parentes et enfants pour garantir une terminaison et un nettoyage fiables des tâches dépendantes. Elle fournit une boîte à outils pour coordonner ces opérations concurrentes via des groupes de tâches et des délais d'attente (timeouts). Le framework couvre un large éventail de capacités de gestion de la concurrence, incluant la communication inter-tâches via des files d'attente et la synchronisation de ressources partagées à l'aide de verrous (locks) et de sémaphores. Il inclut également la prise en charge de l'exécution de processus externes et le déchargement des tâches bloquantes vers des threads séparés pour maintenir la réactivité de la boucle d'événements.
Provides non-blocking socket operations for high-concurrency network communication.
Ce projet est un pilote de base de données PostgreSQL natif pour le langage de programmation Rust. Il fonctionne comme un mapper et connecteur de base de données typé qui fournit des interfaces synchrones et asynchrones pour exécuter des requêtes contre un backend PostgreSQL. La bibliothèque implémente un système de mappage typé pour convertir les types de données PostgreSQL en types Rust, garantissant la cohérence lors du transfert de données. Elle sert également de connecteur de base de données chiffré, prenant en charge des protocoles de communication sécurisés pour protéger les données en transit entre l'application et la base de données. Le pilote couvre les capacités de base de données fondamentales, incluant l'exécution d'opérations de données et la gestion de connexions de base de données sécurisées.
Offers both synchronous and asynchronous interfaces for executing queries against PostgreSQL.
cppcoro is a C++ coroutine library and concurrency toolkit providing primitives for asynchronous tasks, lazy generators, and non-blocking execution. It functions as an asynchronous I/O framework for managing network sockets and file operations through an event loop. The library features a work-stealing thread pool for distributing tasks across multiple cores and a set of async generators for producing lazy sequences of values both synchronously and asynchronously. It includes a concurrency toolkit with async mutexes, latches, and shared tasks to coordinate multi-threaded execution. Its capab
Provides asynchronous TCP and UDP socket implementations for non-blocking network communication.
Undertow is a Java HTTP web server and non-blocking I/O server implementation. It functions as a Jakarta Servlet container and a WebSocket server, providing the infrastructure to execute standardized servlet components and maintain persistent full-duplex communication channels for real-time data exchange. The project is characterized by an asynchronous architecture that utilizes a non-blocking I/O model to handle large numbers of concurrent connections. It incorporates buffer-pooling mechanisms and zero-copy data transfers to reduce memory allocation and garbage collection pressure. The syst
Implements a server-side non-blocking model to handle thousands of concurrent connections without tying up system threads.
This library provides a framework for building event-driven, non-blocking network applications in PHP. It enables the development of asynchronous TCP and TLS servers and clients that manage multiple concurrent connections without stalling the main execution thread. By utilizing an event-loop architecture, the library handles network operations and data exchange through asynchronous streams, ensuring that the application remains responsive during high-throughput tasks. The project distinguishes itself through its integration with operating system primitives, such as raw file descriptors and Un
Provides a non-blocking library for building event-driven TCP and TLS socket servers and clients using asynchronous streams in PHP.