Server Server Django Script ASGI "Send to channel X" "Receive from channel X" "Send to group Y" "Add channel X to group Y" "Remove channel X from group Y"
What does Channels provide? Routing Consumers Sessions Auth Helpers By channel, URL, etc. Standardised message handling Cross-network persistence on sockets Including HTTP cookies on WebSocket runserver, runworker, debugging info
Write a custom server Use asyncio, Twisted, Gevent, etc Server takes path to ASGI channel layer instance (CLI/config file) Roll layer.send, layer.receive_many into your event loop