9 repositorios
Implementations of binary formats for encoding data structures for efficient network transmission.
Distinct from Network Protocol Implementations: Focuses on the serialization format (Erlang Term Format) rather than the general network transport protocol.
Explore 9 awesome GitHub repositories matching networking & communication · Binary Serialization Protocols. Refine with filters or upvote what's useful.
Tars is a distributed systems platform that provides a high-performance remote procedure call (RPC) framework, service discovery, and a centralized administration platform for building and managing microservice-based applications. At its core, it offers a custom binary protocol for efficient serialization and communication between services, along with a name service that dynamically resolves service endpoints for RPC routing. The platform distinguishes itself by supporting multi-language microservice development, enabling services to be written in C++, Java, Node.js, PHP, and Go using a share
Implements a custom binary protocol for efficient serialization and low-latency communication between services.
MobileIMSDK is an open-source instant messaging framework that provides reliable real-time message delivery across iOS, Android, Java, HarmonyOS, and web platforms. At its core, it offers a unified communication layer that transparently supports UDP, TCP, and WebSocket transports, enabling developers to send and receive messages without managing protocol differences or connection state. The framework includes an automatic reconnection engine that detects network outages and restores connections without manual intervention, with built-in message retransmission and deduplication to guarantee exa
Encodes messages into a compact binary format to minimize bandwidth and parsing overhead on mobile and embedded clients.
nghttp2 es un conjunto de librerías C de bajo nivel y herramientas diseñadas para implementar el protocolo HTTP/2. Proporciona una implementación eficiente en memoria de la lógica central del protocolo, incluyendo el framing, la multiplexación de flujos y el control de flujo. El proyecto incluye una librería dedicada para la compresión y descompresión de cabeceras HPACK para reducir el ancho de banda de red. También proporciona un conjunto de herramientas para analizar el tráfico de red y realizar benchmarks del rendimiento del servidor, incluyendo mediciones de throughput y latencia. Sus capacidades más amplias cubren la implementación de protocolos y la gestión de tráfico, incluyendo la negociación de conexión ALPN, la priorización de peticiones y la validación de componentes de cabecera. La librería admite extensiones de protocolo personalizadas a través de un sistema de eventos basado en callbacks e incluye utilidades para la gestión de memoria y la traducción de códigos de error. El proyecto incluye soporte de compilación y scripts de configuración para realizar compilación cruzada de binarios para la plataforma Android.
Implements the binary wire format serialization required for HTTP/2 framing and network transmission.
This is a Go client library and protocol implementation for interacting with message brokers using the AMQP 0.9.1 standard. It serves as an asynchronous messaging toolkit and message queue client for implementing producer and consumer patterns. The library provides a programmatic interface for managing the full message lifecycle, including publishing, consumption, and delivery acknowledgments. It supports reliable delivery mechanisms such as publishing confirmations and atomic transactions. The project covers the administration of routing topologies through the declaration and binding of que
Encapsulates AMQP messages into binary frames for efficient transmission over TCP.
php-amqplib es una librería de PHP que implementa el protocolo AMQP para permitir la comunicación entre aplicaciones y brokers de mensajes. Proporciona las herramientas necesarias para integrar aplicaciones PHP con RabbitMQ para enviar y recibir mensajes a través de servicios desacoplados. La librería admite una amplia gama de patrones de mensajería, incluyendo procesamiento de tareas asíncronas, arquitecturas basadas en eventos y llamadas a procedimientos remotos utilizando identificadores de correlación. Gestiona el ciclo de vida completo del mensaje a través de publicación, declaración de colas y modelos de consumo flexibles utilizando suscripciones basadas en push o polling basado en pull. El proyecto cubre la gestión de enrutamiento y topología mediante enlaces de intercambio y proporciona características de fiabilidad como colas duraderas, publicación persistente y reconocimientos de mensajes explícitos. También incluye capacidades de gestión de tráfico como limitación de prefetch de mensajes y multiplexación de canales virtuales para optimizar el uso de recursos. La estabilidad de la conexión se maneja mediante soporte multi-host y gestión de latidos (heartbeats) basada en señales.
Translates high-level message objects into binary frames for efficient network transmission via the AMQP protocol.
Chrono is a Rust date and time library used for managing calendar dates, clock times, and timezone conversions. It functions as a high-precision timestamp tool and temporal data serializer for converting date and time objects into structured formats. The library includes a timezone conversion engine to translate timestamps between different geographical zones and manage local time configurations. Its broader capabilities cover date string formatting, high-precision timing, and the serialization of temporal data for database storage or network transmission.
Implements serialization traits to convert temporal objects into structured formats for network or database storage.
This project provides the formal network protocol standards and technical specifications for HTTP/2. It defines the requirements for binary framing structures, the HPACK compression standard for header fields, and the general behaviors necessary to ensure consistent data exchange and interoperability between network clients and servers. The specification covers the mechanisms for binary frame multiplexing and the HPACK standard to reduce network bandwidth and latency. It details the rules for session establishment, including connection preface handshaking and protocol negotiation. The projec
Defines the binary frame structures essential for managing streams, flow control, and priority.
pypush is a Python client library and programmatic interface for the Apple Push Notification service. It provides the necessary tools to send and receive push notification messages and functions as an iMessage client implementation. The library enables the registration of devices with Apple services to receive push notifications and interact with internal application interfaces. It achieves this by emulating the handshake and identity of physical Apple devices to authenticate with proprietary push notification servers. The system manages communication through binary frame serialization, sess
Encodes and decodes custom binary packets to match the data structures expected by internal Apple APIs.
Este repositorio sirve como plan de estudios estructurado y plataforma de práctica para la ingeniería de software, proporcionando especificaciones técnicas y requisitos arquitectónicos para construir aplicaciones web complejas e intensivas en datos. Está diseñado para guiar a los desarrolladores a través de la implementación de extremo a extremo de sistemas full-stack, centrándose en la aplicación práctica de conceptos de ingeniería avanzados. El proyecto se distingue por ofrecer objetivos de proyecto curados que requieren la integración de diversas tecnologías, como la conexión de servicios de inteligencia artificial externos, la gestión de distribuciones de tokens entre cadenas seguras y el desarrollo de sistemas de trading de alto rendimiento. Estas especificaciones desafían a los desarrolladores a dominar la sincronización de estado en tiempo real y la coordinación de componentes distribuidos. El plan de estudios cubre una amplia gama de capacidades, incluida la implementación de comunicación basada en sockets para entornos multijugador, la aplicación de políticas de control de acceso y el uso de colas de mensajes para el procesamiento de tareas asíncronas. También aborda los requisitos para una serialización de datos eficiente y el enrutamiento de servicios para garantizar un rendimiento confiable del sistema.
Implements binary serialization protocols to optimize network latency and payload size for distributed system communication.