Transport & Encoding#
1. Transport#
All traffic runs over binary WebSocket (RFC 6455) on top of TCP.
Default port: 8423 on the server (controlled machine).
Text frames are rejected as a protocol violation.
The transport is reliable and ordered, which the encryption layer depends on (see Encryption).
Future: QUIC transport is planned for v2 (eliminates head-of-line blocking for concurrent streams).
2. Encoding#
Every frame is msgpack-encoded (see protocol/codec.py).
Key conventions:
bytesvalues round-trip as native msgpackbin— never base64. Pixmaps, file contents, and public keys are all raw bytes on the wire.Python
setis encoded as a msgpack array.Python
Enumis encoded as its.value.Unknown fields on received frames are ignored (forward-compatible reads).
Next: Encryption & Identity →