QUIC/HTTP3 Protocol¶
Ultra-low latency protocol - perfect for real-time applications and unstable networks.
Overview¶
QUIC/HTTP3 provides: - ✅ Ultra-low latency - ✅ Better performance on unstable networks - ✅ Built-in encryption (TLS) - ✅ Connection migration
Default Port¶
4433
Requirements¶
iOS¶
- iOS 15.0 or higher
- HTTP/3 support built-in
Python¶
TLS Certificates¶
QUIC requires TLS certificates. For local development:
openssl req -x509 -newkey rsa:2048 \
-keyout /tmp/arvos-quic.key \
-out /tmp/arvos-quic-cert.pem \
-days 365 -nodes
Quick Start¶
Python Server¶
import asyncio
from arvos.servers import QUICArvosServer
async def main():
server = QUICArvosServer(
host="0.0.0.0",
port=4433,
certfile="/tmp/arvos-quic-cert.pem",
keyfile="/tmp/arvos-quic.key"
)
server.on_imu = lambda data: print(f"IMU: {data}")
await server.start()
asyncio.run(main())
iOS App¶
- Open ARVOS app
- Select QUIC/HTTP3 protocol
- Enter server IP and port 4433
- Connect!
Note: For local testing, you may need to install the self-signed certificate on your iPhone.
Features¶
Ultra-Low Latency¶
- Faster connection establishment
- Reduced head-of-line blocking
- Better on mobile networks
Network Resilience¶
- Better performance on packet loss
- Connection migration
- Multiplexing without head-of-line blocking
Built-in Security¶
- TLS 1.3 encryption
- No separate TLS handshake
- Secure by default
Use Cases¶
- Real-time applications
- Mobile network scenarios
- Unstable network conditions
- Low-latency requirements
Advantages¶
- ✅ Ultra-low latency
- ✅ Better on unstable networks
- ✅ Built-in encryption
- ✅ Future-proof protocol
Limitations¶
- ⚠️ Requires TLS certificates
- ⚠️ More complex setup
- ⚠️ Requires aioquic library
- ⚠️ Certificate management
Example¶
See QUIC Example
Next Steps¶
- Protocol Comparison
- gRPC Protocol - High performance alternative