Web server che facilita un handshake TCP tra due app native dietro i tipici firewall di casa

2

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ì:

  1. Il server Web attende le connessioni
  2. L'istanza di app nativa A si connette al server e notifica che A sta lavorando sul problema (i)
  3. L'istanza di app nativa B si collega al server e notifica che B sta lavorando sul problema (i)
  4. Il server corrisponde a A e B come a problemi simili e notifica loro entrambi di iniziare una connessione
  5. 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?

    
posta Barak Gall 15.02.2016 - 01:42
fonte

1 risposta

0

Alcuni router domestici supportano UPnP che consente alle applicazioni nella rete domestica di configurare i mapping delle porte, in modo che il router inoltra il traffico dall'esterno all'host interno.

link

Questo è comunemente usato dalle applicazioni Torrent e da alcuni programmi di messaggistica e giochi. Tuttavia molti router hanno disabilitato questo per motivi di sicurezza. In tal caso, un server che può essere raggiunto da tutti i partecipanti è spesso l'alternativa più affidabile.

    
risposta data 15.02.2016 - 04:03
fonte

Leggi altre domande sui tag