A conforming WebSocket (RFC 6455) client library for iOS, macOS and tvOS. SocketRocket currently conforms to all core ~300 of Autobahn's fuzzing tests (aside from two UTF-8 ones where it is merely non-strict tests 6.4.2 and 6.4.4). SocketRocket is asynchronous and non-blocking. Most of the work is done on a background thread. You can include SocketRocket as a subproject inside of your application if you'd prefer, although we do not recommend this, as it will increase your indexing time significantly. To do so, just drag and drop the SocketRocket.xcodeproj file into your workspace. Included are setup scripts for the python testing environment. It comes packaged with vitualenv so all the dependencies are installed in userland. SocketRocket includes a demo app, TestChat. It will "chat" with a listening websocket on port 9900. The sever takes a message and broadcasts it to all other connected clients.
Features
- TLS (wss) support, including self-signed certificates
- Supports HTTP Proxies
- Supports IPv4/IPv6
- Supports SSL certificate pinning
- Sends ping and can process pong events
- Supports iOS, macOS, tvOS