How spkiller2301/distributed-streaming-based-client-server works
Collab App is a browser-based chat and file-sharing application whose clients communicate with a server over a custom reliable, encrypted UDP transport. The principal workflow is browser interaction through the local web UI, client-side message/file handling, server authentication and routing, then delivery to another online client. The graph also includes the transport and shared protocol layers. Relationships for unsampled modules are included only where the README or SOURCE INDEX supports them; the web UI’s detailed request wiring was not excerpted.
Main entry points: server.py Server runtime · endpoint.py UDP endpoint · client.py Client runtime · router.py Message router
Components 18
Client application
- Local web UI
client/web_ui/http_server.py - Web frontend
client/web_ui/static/app.js - Client runtime
client/client.py - File transfer
client/file_transfer.py
Server collaboration
- Server runtime
server/server.py - Authentication
server/auth.py - Online registry
server/registry.py - Message router
server/router.py
Reliable transport
- UDP endpoint
transport/endpoint.py - Reliable connection
transport/connection.py - Stream handling
transport/stream.py - Congestion control
transport/congestion.py - Session crypto
transport/crypto.py
Shared protocol
- Packet codec
common/packet.py - Message codec
common/messages.py - Protocol constants
common/constants.py
Other components
- Browser user
- Other client
Connections 26
- Browser user → Web frontend: uses
README.md - Web frontend → Local web UI: serves UI
- Local web UI → Client runtime: exposes actions
- Client runtime → UDP endpoint: sends messages
client/client.py - Client runtime → File transfer: uses
client/client.py - Client runtime → Message codec: encodes messages
client/client.py - Client runtime → Protocol constants: uses
client/client.py - UDP endpoint → Reliable connection: dispatches packets
transport/endpoint.py - UDP endpoint → Session crypto: uses handshake
transport/endpoint.py - UDP endpoint → Packet codec: decodes packets
transport/endpoint.py - Reliable connection → Stream handling: uses streams
transport/connection.py - Reliable connection → Congestion control: controls sending
transport/connection.py - Reliable connection → Session crypto: encrypts data
transport/connection.py - Reliable connection → Packet codec: builds packets
transport/connection.py - Packet codec → Protocol constants: uses sizes
common/packet.py - Server runtime → UDP endpoint: receives callbacks
server/server.py - Server runtime → Authentication: verifies login
server/server.py - Server runtime → Online registry: tracks users
server/server.py - Server runtime → Message router: routes messages
server/server.py - Server runtime → Message codec: decodes messages
server/server.py - Server runtime → Protocol constants: uses streams
server/server.py - Message router → UDP endpoint: sends data
server/router.py - Message router → Online registry: looks up users
server/router.py - Message router → Message codec: encodes messages
server/router.py - Message router → Protocol constants: uses streams
server/router.py - Server runtime → Other client: relays chat and files
README.md