I have a XMPP (Jabber) service, hosted in a cloud server (with Debian 9 and public IP), and a simple chat software for Windows created with Delphi (7 / XE3). Chat users can already send/receive small files (KB) using in-band transfer (client1<->server<->client2), but this is slow and not efficient at all. I'd like to allow users to share bigger file/streams (MB) out-of-band (peer-to-peer) and need a sample code on how to archive this.
Here is a good description of what I need:
[login to view URL]
XMPP service can be used for each client (user) to know each other and start file transfering (as described in the link above), but this is not a requirement. Maybe a daemon TCP server could be used for the same result (I have root access to the server).
XMPP service also has a built-in SOCKS5 proxy, that maybe can be used: [login to view URL]
Please, let me know if more information is needed.