Al momento ho impostato due parti:
- tipico server Web HTTP
- app nativa distribuita ai consumatori (presumibilmente dietro la tipica configurazione router / firewall di casa)
L'app è progettata per funzionare su alcuni piccoli problemi, ma voglio che app configurate funzionino su problemi simili per lavorare insieme. In questo momento, l'unica soluzione che posso venire è passare tutti i dati attraverso il server web. Tuttavia mi chiedevo se esiste un protocollo che consenta alla mia app nativa di utilizzare il web server solo per facilitare l'iniziale handshake TCP e poi continuare senza che il server web trasmetta le informazioni nel mezzo?
Il mio flusso desiderato sarebbe così:
- Il server Web attende le connessioni
- L'istanza di app nativa A si connette al server e notifica che A sta lavorando sul problema (i)
- L'istanza di app nativa B si collega al server e notifica che B sta lavorando sul problema (i)
- Il server corrisponde a A e B come a problemi simili e notifica loro entrambi di iniziare una connessione
- Entrambi A e B inviano i messaggi TCP SYN, SYN-ACK, ACK in modo appropriato al server Web, ma invece di utilizzare i parametri del protocollo TCP scambiati sul server Web continuano a comunicare direttamente tra loro.
A. è possibile un tale flusso?
B. c'è un protocollo che tenta di stabilire questo?
Se la risposta ad entrambi i precedenti è "no", c'è qualcos'altro che posso provare a ritagliare il server web da middle-manning delle comunicazioni?