awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
facebookincubator avatar

facebookincubator/SocketRocket

0
View on GitHub↗
9,616 stars·2,007 forks·Objective-C·10 views

SocketRocket

SocketRocket is an Objective-C WebSocket client library designed to establish bidirectional real-time communication channels between an application and a server. It provides a networking layer for real-time data streaming, utilizing a heartbeat monitor to maintain the stability of active network streams.

The library is built to operate across restricted networks by routing traffic through HTTP proxies. It secures data transmission using TLS encryption and SSL certificate pinning to prevent unauthorized interception of network traffic.

Its underlying capabilities include low-level TCP socket integration, stream-based frame parsing, and an HTTP handshake upgrade protocol. The system tracks connection lifecycles via an event-driven state model to notify the host of open, close, and error events.

Features

  • WebSocket Clients - Provides a library for establishing and managing bidirectional WebSocket connections over HTTP.
  • Byte Stream Framing - Processes incoming byte streams into discrete WebSocket frames by reading headers and calculating payload lengths.
  • Connection Keepalives - Sends periodic control frames to the server to prevent connection timeouts and detect silent failures.
  • Connection Lifecycle Events - Tracks connection lifecycle transitions using a delegate pattern to notify the host of open, close, and error events.
  • Connection Upgraders - Initiates connections via standard HTTP requests and upgrades the socket to the WebSocket protocol.
  • Real-Time Data Streams - Establishes a bidirectional communication channel between client and server for instant data exchange.
  • TCP Socket Programming - Manages low-level network sockets to handle raw data transmission and bidirectional byte streams.
  • Encrypted Connection Handlers - Implements TLS encryption and certificate validation to prevent unauthorized interception of data.
  • SSL/TLS Connection Security - Wraps standard TCP connections in an encrypted layer to provide server certificate validation and secure data exchange.
  • Heartbeat Monitors - Uses periodic heartbeat signals to monitor and maintain the stability of active network streams.
  • Health Monitoring - Implements heartbeat signaling and response processing to maintain the stability of active network streams.
  • HTTP Proxies - Allows connecting to remote servers through HTTP proxies to bypass network restrictions.
  • Proxy-Compatible Clients - Routes network traffic through HTTP proxies to maintain connectivity across restricted networks.
  • Proxy-Routed - Routes WebSocket connections through an HTTP proxy to bypass network restrictions.
  • WebSocket Security - Encrypts data transfers using TLS and SSL certificate pinning to prevent unauthorized interception.

Star history

Star history chart for facebookincubator/socketrocketStar history chart for facebookincubator/socketrocket

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 SocketRocket

Similar open-source projects, ranked by how many features they share with SocketRocket.
  • sta/websocket-sharpsta avatar

    sta/websocket-sharp

    6,067View on GitHub↗

    websocket-sharp is a C# library implementation of the WebSocket protocol used for building bidirectional client and server applications. It enables real-time data exchange between endpoints via persistent connections. The library provides specialized networking capabilities, including SSL encrypted networking for secure transport and certificate validation. It also features HTTP proxy tunneling to route traffic through intermediary servers using basic or digest authentication. The project covers a broad range of capabilities, including the implementation of both WebSocket clients and servers

    C#
    View on GitHub↗6,067
  • vi/websocatvi avatar

    vi/websocat

    8,571View on GitHub↗

    Websocat is a specialized set of command-line tools for WebSocket communication, acting as a client, server, and stream processor. It provides a terminal-based interface for connecting to WebSocket servers, hosting secure WebSocket servers, and bridging data between WebSockets and other network transports. The project distinguishes itself by functioning as a bidirectional network relay, allowing the routing of data between WebSocket streams, TCP sockets, UNIX sockets, and standard system input and output. It includes specialized implementations for SOCKS5 and HTTP proxying, as well as a strea

    Rustclicommand-linecommand-line-tool
    View on GitHub↗8,571
  • 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
  • tootallnate/java-websocketTooTallNate avatar

    TooTallNate/Java-WebSocket

    10,811View on GitHub↗

    Java-WebSocket is a collection of classes for implementing WebSocket clients and servers using pure Java. It provides a framework for hosting servers that manage connections via event-driven subclasses and tools for establishing client connections to remote servers. The library includes a secure communication tool for encrypting traffic using the WSS protocol and a compression library that uses per-message deflate extensions to reduce transmitted data size. It supports the configuration of cipher suites to limit encryption protocols and ensure compatible communication. The project enables bi

    Java
    View on GitHub↗10,811
See all 30 alternatives to SocketRocket→

Frequently asked questions

What does facebookincubator/socketrocket do?

SocketRocket is an Objective-C WebSocket client library designed to establish bidirectional real-time communication channels between an application and a server. It provides a networking layer for real-time data streaming, utilizing a heartbeat monitor to maintain the stability of active network streams.

What are the main features of facebookincubator/socketrocket?

The main features of facebookincubator/socketrocket are: WebSocket Clients, Byte Stream Framing, Connection Keepalives, Connection Lifecycle Events, Connection Upgraders, Real-Time Data Streams, TCP Socket Programming, Encrypted Connection Handlers.

What are some open-source alternatives to facebookincubator/socketrocket?

Open-source alternatives to facebookincubator/socketrocket include: sta/websocket-sharp — websocket-sharp is a C# library implementation of the WebSocket protocol used for building bidirectional client and… vi/websocat — Websocat is a specialized set of command-line tools for WebSocket communication, acting as a client, server, and… ithewei/libhv — libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP,… tootallnate/java-websocket — Java-WebSocket is a collection of classes for implementing WebSocket clients and servers using pure Java. It provides… mqttjs/mqtt.js — MQTT.js is a JavaScript client library and asynchronous messaging client used to connect to message brokers and… koush/androidasync — AndroidAsync is a non-blocking networking library for Android that provides asynchronous sockets, HTTP clients, and…