Implementando um link TCP direto entre computadores ocultos por um roteador com um servidor gerenciando a conexão

1

Estou trabalhando em um programa de bate-papo criptografado e estou tentando descobrir uma maneira de enviar mensagens diretamente entre dois computadores que estão ocultos por um roteador (cada um tem seu próprio endereço IP local e NÃO é encaminhado por porta.) com a conexão sendo gerenciada por um servidor.

Aqui está um modelo rápido:

1. Computer A and Computer B both connect to the server
2. Computer B tells server that it is hosting a session
3. Computer A asks server to join computer B's session

4. Server tells Computer B to accept connections from Computer A - Is this needed?
5. Server tells Computer A how to connect to Computer B

6. Computer A connects to computer B
7. Connection established, able to send TCP messages between computers over stream 
(Could UDP be possible?)

Minha pergunta: isso é possível pela internet usando o NAT? Como poderia ser implementado?

A resposta: perfuração. Obrigado, radicetrentasei

    
por KleptoKat 18.04.2014 / 22:52

1 resposta

1

Tenho certeza de que, se eu disser "peer to peer", você encontrará instantaneamente uma solução!

Essencialmente, você está escrevendo um bate-papo P2P. O problema do NAT com redes P2P tem muitas soluções; para citar alguns:

Continue a sua pesquisa tendo em mente "Quero escrever um chat P2P" e encontrará muita documentação.

    
por 18.04.2014 / 23:17

Tags