If you want real-time data-transmission (for chat, audio or video), what about WebRTC? It's primarily intended to be used in browsers, but there's nothing theoretically preventing you from just using a Python library (e.g. https://github.com/jlaine/aiortc ) that implements the protocols if you wanted.