Real-time features on the web are usually built around WebSockets, bi-directional data channels, which send messages back and forth. While there are a lot of clients for testing network requests, there are limited solutions for observing WebSockets over time.
Today I'm introducing a new application I've built over the course of the last weeks, Socket Inspector. It allows you to quickly connect to any WebSocket endpoint, listen for incoming messages, send your own messages, and observe the complete lifecycle from initiating a connection, to disconnecting (or losing connection).
Socket Inspector was built using SwiftUI and other native Swift features, and thus has a minimal resource footprint. While I primarily built it for iPadOS, it will be available macOS (and potentially iOS) in Fall, powered by a shared SwiftUI codebase, increasing the product development velocity substantially.
Starting today, Socket Inspector is in public preview and your feedback can help shape its future: Whether you wish for an improved message drafting experience or would like other utilities for your workflows, you're welcome to send any kind of feedback and I'll make sure to factor it into future plans.
Socket Inspector will be available on iPad running iPadOS 15 or newer. If you would like to test the public preview, sign up for the TestFlight beta here.
At the moment, Socket Inspector does not collect any usage-related data in any form. When you connect
to an endpoint, the operating party will receive an HTTP request to initiate the WebSocket, followed by periodic heartbeat messages. These requests may contain information such as your IP address and user agent.
I recommend only connecting to secure WebSocket endpoints (URLs prefixed with
wss:), so all communication is encrypted in transit.
In this post