awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
coder avatar

coder/websocket

0
View on GitHub↗
5,299 星标·364 分支·Go·ISC·3 次浏览

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 历史

coder/websocket 的 Star 历史图表coder/websocket 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

包含 Websocket 的精选搜索

收录 Websocket 的精选合集。
  • Go WebSocket 服务端库

Websocket 的开源替代方案

相似的开源项目,按与 Websocket 的功能重合度排序。
  • boostorg/beastboostorg 的头像

    boostorg/beast

    4,801在 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
    在 GitHub 上查看↗4,801
  • websocket-client/websocket-clientwebsocket-client 的头像

    websocket-client/websocket-client

    3,706在 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
    在 GitHub 上查看↗3,706
  • olahol/melodyolahol 的头像

    olahol/melody

    4,066在 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
    在 GitHub 上查看↗4,066
  • ithewei/libhvithewei 的头像

    ithewei/libhv

    7,521在 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
    在 GitHub 上查看↗7,521
查看 Websocket 的所有 30 个替代方案→

常见问题解答

coder/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.

coder/websocket 的主要功能有哪些?

coder/websocket 的主要功能包括: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。

coder/websocket 有哪些开源替代品?

coder/websocket 的开源替代品包括: 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…