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
coder avatar

coder/websocket

0
View on GitHub↗
5,299 stars·364 forks·Go·ISC·16 views

Websocket

This is a minimal WebSocket library for Go designed for bidirectional real-time communication. It serves as a network protocol implementation for managing handshakes, frame masking, and control signals to enable the exchange of text and binary messages over persistent connections.

The library distinguishes itself by providing a connectivity layer that wraps browser WebSocket APIs for applications compiled to WebAssembly. It also functions as data compression middleware, utilizing deflate compression to reduce bandwidth usage for transmitted messages.

The project covers a broad range of networking capabilities, including connection lifecycle management via heartbeats and timeouts, protocol tunneling for wrapping arbitrary network protocols, and traffic management through message size limits and origin validation. It supports the transmission of structured data using formats such as JSON and Protobuf.

Features

  • Go WebSocket Libraries - A high-performance implementation of the WebSocket protocol written specifically for Go.
  • WebSocket Message Exchanges - Provides bidirectional transmission of text and binary frames over persistent WebSocket connections.
  • Real-Time Data Streaming - Enables real-time delivery and processing of data streams from remote peers over persistent connections.
  • Real-time Messaging - Facilitates instant bidirectional communication between systems without the overhead of repeated request-response cycles.
  • Connection Establishment Protocols - Initiates and upgrades bidirectional network connections between clients and servers.
  • WebSocket and Fallback Connection Establishment - Performs the initial handshake with a remote server to establish a persistent bidirectional connection.
  • Connection Control Frame Handlers - Implements logic to handle protocol-level control messages like ping, pong, and close frames.
  • WebSocket Frame Processors - Implements low-level processing for encoding and decoding WebSocket data and control frames using optimized buffers.
  • WebSocket Ping/Pong Keepalives - Maintains connection health by exchanging WebSocket ping and pong frames.
  • Websocket Connection Managers - Manages persistent WebSocket connections, including subprotocol negotiation and resource cleanup.
  • Connection Termination - Implements graceful shutdown of connections using formal WebSocket status codes and handshakes.
  • Health Monitoring - Monitors connection stability through the exchange of ping frames and pong responses.
  • Data Framing - Encapsulates data into binary frames with headers for length, masking, and control signals.
  • Frame Masking - Applies a rotating masking key to data frames using bitwise XOR operations for secure transmission.
  • Network Protocol Implementations - Implements the low-level WebSocket protocol, managing handshakes, frame masking, and control signals.
  • Connection Lifecycle Managers - Handles automated state transitions, heartbeats, and closing connections with specific status codes.
  • Connection Hijacking - Extracts the underlying network connection from a response writer to switch to a bidirectional stream.
  • WebSocket Message Readers - Implements the ability to retrieve incoming messages as byte slices or streams while processing control frames.
  • WebSocket Message Writers - Provides the capability to write data as single atomic messages or streams to a WebSocket connection.
  • WebSocket Frame Masking - Provides the required masking-key XOR transformation for secure WebSocket data transmission.
  • Network Connection Lifecycles - Uses Go contexts and heartbeats to manage connection timeouts and prevent resource leaks.
  • Protocol Upgrades - Provides mechanisms to upgrade standard HTTP connections to a persistent bidirectional WebSocket stream.
  • Real-Time Communication - Provides persistent, bidirectional data streaming for sending and receiving text and binary messages.
  • Real-Time Communication Protocols - Enables bidirectional, low-latency data exchange between clients and servers using the WebSocket protocol.
  • JSON Data Exchange - Uses JSON for transporting structured state and configuration between clients and servers.
  • Structured Message Serialization - Supports serializing and deserializing data using JSON and Protobuf formats for network transmission.
  • WebSocket Frame Compression - Compresses individual WebSocket frames using the deflate algorithm to reduce network bandwidth.
  • WebSocket Proxy Tunnels - Provides the ability to tunnel network traffic across restricted boundaries using WebSocket connections.
  • JSON Message Exchanges - Exchanges structured JSON messages over a persistent connection to synchronize state.
  • Tunneling Protocols - Provides the ability to encapsulate arbitrary network protocols within a WebSocket connection to bypass restrictive environments.
  • Browser API Wrappers - Provides a connectivity layer that wraps browser WebSocket APIs for applications compiled to WebAssembly.
  • WebSocket API Wrappers - Provides a connectivity layer that wraps browser WebSocket APIs for Go applications compiled to WebAssembly.
  • WebSocket Payload Compressions - Lowers data transfer volume by applying compression to all outgoing and incoming frames.
  • Request Size Limiters - Protects server resources from memory exhaustion by rejecting incoming frames that exceed defined byte limits.
  • Response Size Limits - Caps the maximum number of bytes allowed for a single incoming message to prevent memory exhaustion.
  • Browser API Wrappers - Wraps the native browser WebSocket API to provide a consistent interface for WebAssembly applications.

Star history

Star history chart for coder/websocketStar history chart for coder/websocket

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

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 Websocket

Similar open-source projects, ranked by how many features they share with Websocket.
  • boostorg/beastboostorg avatar

    boostorg/beast

    4,801View on GitHub↗

    Beast is a C++ library for implementing low-level HTTP and WebSocket clients and servers. It functions as an asynchronous networking framework designed to compose non-blocking I/O operations and layered stream stacks for managing concurrent network traffic, specifically utilizing the Boost.Asio asynchronous model. The library provides a comprehensive implementation of the HTTP/1.1 and WebSocket protocols. For HTTP, it includes primitives for parsing and serializing messages with support for chunked transfer encoding, incremental body reading, and request pipelining. Its WebSocket implementati

    C++asioasync-programmingboost
    View on GitHub↗4,801
  • websocket-client/websocket-clientwebsocket-client avatar

    websocket-client/websocket-client

    3,706View on GitHub↗

    This is a Python WebSocket client library designed to establish full-duplex, persistent network connections for real-time exchange of text and binary data. It functions as an asynchronous network client and a TCP socket wrapper, managing the complete lifecycle of a connection from the initial handshake to graceful closure. The implementation includes a secure WebSocket client that handles SSL/TLS encryption, certificate verification, and secure handshake protocols. It further distinguishes itself by supporting advanced connectivity options, including proxy routing via HTTP or SOCKS proxies an

    Pythonpythonrfc-6455websocket
    View on GitHub↗3,706
  • olahol/melodyolahol avatar

    olahol/melody

    4,066View on GitHub↗

    Melody is a WebSocket server framework designed to upgrade HTTP connections into bidirectional streams. It functions as a session manager and binary streaming library that facilitates real-time data exchange between a server and multiple remote clients. The project features a broadcast engine that optimizes multi-client transmissions through wire-representation caching. It includes a dedicated session management system for attaching custom state to persistent network connections and an upgrade handler that validates handshake headers. The framework covers broad capability areas including eve

    Goexampleframeworkgo
    View on GitHub↗4,066
  • ithewei/libhvithewei avatar

    ithewei/libhv

    7,521View on GitHub↗

    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

    Ccurlepollhttp-client
    View on GitHub↗7,521
See all 30 alternatives to Websocket→

Frequently asked questions

What does coder/websocket do?

This is a minimal WebSocket library for Go designed for bidirectional real-time communication. It serves as a network protocol implementation for managing handshakes, frame masking, and control signals to enable the exchange of text and binary messages over persistent connections.

What are the main features of coder/websocket?

The main features of coder/websocket are: Go WebSocket Libraries, WebSocket Message Exchanges, Real-Time Data Streaming, Real-time Messaging, Connection Establishment Protocols, WebSocket and Fallback Connection Establishment, Connection Control Frame Handlers, WebSocket Frame Processors.

What are some open-source alternatives to coder/websocket?

Open-source alternatives to coder/websocket include: boostorg/beast — Beast is a C++ library for implementing low-level HTTP and WebSocket clients and servers. It functions as an… websocket-client/websocket-client — This is a Python WebSocket client library designed to establish full-duplex, persistent network connections for… olahol/melody — Melody is a WebSocket server framework designed to upgrade HTTP connections into bidirectional streams. It functions… ithewei/libhv — libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP,… microsoft/cpprestsdk — The C++ REST SDK is a library for asynchronous HTTP and RESTful communication in native C++ applications. It provides… salvo-rs/salvo — Salvo is a comprehensive Rust web framework for building asynchronous HTTP servers and web applications. It features a…

Curated searches featuring Websocket

Hand-picked collections where Websocket appears.
  • Go WebSocket Server Libraries