15 Repos
Libraries providing the core infrastructure to build servers for various transport and application layer protocols.
Distinct from TCP Server Management: Closest candidates were too specific to TCP or focused on infrastructure configuration rather than the library implementation of multiple server types.
Explore 15 awesome GitHub repositories matching networking & communication · Network Server Implementations. Refine with filters or upvote what's useful.
TinyWebServer is a lightweight HTTP web server written in C++ for Linux. It is designed to handle HTTP requests and serve static content using low-level Linux system calls for network connection management. The server utilizes a state machine to parse GET and POST data from network sockets. It incorporates a MySQL database connection pool to manage reusable links and reduce the overhead of opening and closing sessions. The project covers static media streaming for images and video files, user authentication workflows for registration and login, and system activity logging via both synchronou
Low-level server implementation utilizing Linux system calls for socket and resource management.
libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered
Implements high-performance server capabilities for TCP, UDP, SSL, HTTP, WebSocket, and MQTT.
Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O tasks. It provides a cooperative networking framework for building asynchronous TCP, UDP, and HTTP servers, as well as a WSGI web server implementation for hosting web applications. The project is distinguished by its standard library monkey-patching tool, which replaces blocking synchronous functions with cooperative versions to enable asynchronous behavior in third-party code. This allows for a cooperative multitasking workflow where the system yields execution during I/O waits t
Creates a datagram server to handle connectionless network traffic asynchronously.
Evio ist eine Hochleistungs-Netzwerkbibliothek für Go, die ein nicht-blockierendes Socket-Framework bereitstellt. Sie nutzt eine Ereignisschleife, um TCP-, UDP- und Unix-Domain-Socket-Verkehr über eine Low-Level-asynchrone Protokollschnittstelle zu verarbeiten. Das Projekt fungiert als Multi-Core-Netzwerk-Load-Balancer, der Verbindungen über mehrere CPU-Kerne hinweg unter Verwendung von Round-Robin- oder Least-Connections-Strategien verteilt. Es unterstützt Socket-Wiederverwendung, was es mehreren Sockets auf einem einzigen Host ermöglicht, an denselben Port zu binden. Die Bibliothek deckt ein breites Spektrum an Socket-Verwaltungs- und Paketverarbeitungsfunktionen ab, einschließlich Multi-Protokoll-Listening auf einem einzigen Port und Multi-Interface-Serving. Die Leistung wird durch Shared-Buffer-Paketallokation und einen Callback-gesteuerten Verbindungslebenszyklus optimiert, um Speicher-Overhead und Latenz zu minimieren. Das System enthält zudem Dienstprogramme für die periodische Aufgabenplanung, um wiederkehrende Hintergrundereignisse oder System-Heartbeats auszulösen.
Enables the creation of servers that handle both TCP and UDP traffic on a single port.
CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom
Guides building TCP, UDP, and HTTP servers with TLS support and streaming file handling.
InterviewGuide is a comprehensive technical interview preparation platform that covers the full spectrum of software engineering recruitment, from foundational computer science concepts through to offer negotiation. It provides structured learning paths across algorithms, operating systems, databases, networking, and programming languages, with a particular emphasis on C++ and Go. The platform aggregates real interview experiences and company-specific questions from major tech employers, offering candidates a searchable database of past written exam problems and detailed accounts of actual int
Develops a Linux-based web server for practical experience with TCP/IP and high-performance service programming.
This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation
Includes UDP server development using datagram sockets for lightweight communication.
This project is a comprehensive collection of Python programming education materials, including tutorials, exercises, and curated code samples. It serves as a learning curriculum and software engineering toolkit, utilizing Jupyter Notebooks to combine executable code with descriptive educational text. The repository provides practical implementation guides for building large language model applications, such as retrieval-augmented generation systems, stateful AI agents, and machine learning workflows. It distinguishes itself by offering a structured approach to agentic coding workflows, cover
Provides practical examples for building client-server applications using low-level socket interfaces.
Dieses Projekt ist ein Lernleitfaden und eine Implementierungsübersicht für Go, die Entwicklern den Umstieg von Node.js auf Go erleichtern soll. Es bietet eine Reihe von Code-Vergleichen, die identische Logik in beiden Sprachen gegenüberstellen, um Syntax- und Laufzeitunterschiede zu verdeutlichen. Das Repository dient als Tutorial für Go-Nebenläufigkeit (Concurrency) und vergleicht insbesondere die Verwendung von Channels und Goroutines mit JavaScript-Promises. Es enthält zudem eine Performance-Benchmark-Suite, um die Ausführungsgeschwindigkeit von Go und Node.js bei gleichen Operationen zu messen und zu vergleichen. Der Leitfaden behandelt Beispiele für Systemprogrammierung mit der Go-Standardbibliothek, einschließlich der Entwicklung von Netzwerkservern, der Verwaltung lokaler Dateisysteme und der Interaktion mit SQLite-Datenbanken. Weitere Themen sind die Manipulation von Datenstrukturen, kryptografisches Hashing und die Ausführung externer Shell-Befehle.
Implements core infrastructure for TCP, UDP, and HTTP servers.
This project is a technical study and analysis guide focused on the internal architecture of Node.js. It provides an in-depth examination of the runtime, focusing on how the engine manages memory handles, executes asynchronous operations, and implements core module logic. The guide specifically analyzes the integration of native C++ classes and functions into JavaScript and documents the behavior of the libuv event loop. It includes detailed references for optimizing performance by identifying V8 compiler bailouts and profiling execution to improve resource efficiency. The material covers a
Provides practical analysis of building end-to-end network applications and client-server logic.
This project is a high-performance PHP application server designed to keep applications resident in memory, eliminating the bootstrap overhead typically associated with each request. It functions as a multi-protocol network server capable of handling HTTP, WebSocket, TCP, and UDP traffic simultaneously within a single instance. The system is distinguished by an event-driven worker pool and a high-precision task scheduler that executes recurring background jobs at millisecond intervals. It utilizes a shared memory state store for high-speed data access across worker processes and incorporates
Functions as a unified server instance capable of handling HTTP, WebSocket, TCP, and UDP traffic simultaneously.
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
Provides an asynchronous UDP server that processes connectionless datagrams across multiple threads using an event-driven architecture.
pyserial is a cross-platform Python library for reading and writing binary data to serial ports and hardware devices. It provides a serial port enumeration tool for identifying available hardware and retrieving device path metadata. The project includes a network implementation for controlling remote serial port functions and signal lines over TCP/IP via the RFC 2217 standard. It also features a serial-to-TCP bridge for forwarding raw data between local ports and network sockets, as well as a specialized interface for managing half-duplex RS485 communication and RTS toggling. The library cov
Implements an RFC 2217 server to handle protocol negotiation and control commands for network-to-serial conversion.
This project is a comprehensive computer networking textbook and instructional resource. It serves as a technical guide for the design and implementation of network layers, protocols, and hardware architecture, covering the spectrum from physical links to application-layer protocols. The content provides a detailed study of standards for congestion control, reliable data delivery, and internetwork routing. It includes specialized technical material on network security, public-key infrastructure, and the operation of modern cloud infrastructure and data centers. The material covers a broad ra
Provides instructional material on creating network applications using socket interfaces for client-server communication.
TCP-IP-NetworkNote is a comprehensive technical reference and guide for implementing network communication using TCP and UDP sockets in C and C++. It provides a detailed manual for using the POSIX socket API and covers the implementation of network protocols, synchronous and asynchronous I/O patterns, and concurrent programming models. The project is distinguished by its focus on cross-platform networking, offering a detailed comparison of socket implementation details and adaptation utilities between Linux and Windows Winsock environments. It specifically addresses the differences in header
Implements a functional web server that parses HTTP requests and serves files via a stateless protocol.