A conforming Objective-C WebSocket client library for iOS, macOS, tvOS, and visionOS.
SocketRocket is an open-source WebSocket client library for Apple platforms, written in Objective-C. It provides a fully compliant implementation of the WebSocket protocol (RFC 6455), enabling real-time, bidirectional communication between native iOS, macOS, tvOS, and visionOS apps and WebSocket servers. It solves the need for a reliable, native WebSocket solution that handles secure connections, network proxies, and platform-specific integration.
iOS and macOS developers building applications that require real-time features like live chat, notifications, data streaming, or collaborative editing. It's particularly useful for those working in Objective-C or mixed Objective-C/Swift codebases.
Developers choose SocketRocket because it's a battle-tested, protocol-compliant library from Facebook that passes extensive fuzzing tests. It offers native performance, comprehensive platform support, and essential features like SSL pinning and proxy support out of the box, making it more reliable than rolling your own WebSocket implementation.
A conforming Objective-C WebSocket client library.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Passes all core Autobahn fuzzing tests per the README, ensuring reliable adherence to RFC 6455 standards for WebSocket communication.
Works on iOS, macOS, tvOS, and visionOS, providing native integration across the entire Apple ecosystem.
Supports TLS, SSL certificate pinning, and self-signed certificates, enabling secure connections in various deployment scenarios.
Handles HTTP proxies and both IPv4/IPv6, ensuring connectivity in diverse network environments without extra configuration.
Written in Objective-C, which complicates integration in pure Swift codebases and requires bridging, adding maintenance overhead.
As an older library, it lacks active development and Swift-native conveniences compared to newer alternatives like Starscream.
READEME admits non-strict handling in some Autobahn UTF-8 tests, which could be a concern for applications requiring absolute encoding compliance.
API documentation is minimal, with examples limited to basic usage, forcing developers to rely on source code or community resources for advanced features.