Conectando dois soquetes

Conectando dois soquetes

Eu me perguntei seé possívelfazer uma ponte entre doisentrada tcptomadas.
Por exemplo:

Client A  ----->  Server  <----- Client B

O servidor envia sua mágica para ambos os clientes e então eles se conectam, ignorando o servidor

                  Server
Client A  ----------><---------- Client B

ATUALIZAR:

A ideia é que quando esses clientes não conseguem se conectar às portas para escutar, ainda conseguem criar conexões entre si com a ajuda do servidor.

Por exemplo, o Cliente A e o Cliente B possuem soquetes TCP com o servidor. O usuário A decide bater um papo com o usuário B e cria uma nova conexão TCP com o servidor com a solicitação para conectá-lo ao usuário B. O servidor envia essa solicitação ao Cliente B e também abre uma nova conexão TCP com o servidor para esse bate-papo linha.

Agora, quando o servidor tem conexões de bate-papo de A e B, ele as conecta e elas podem funcionar sem o servidor e, como resultado, o servidor não terá que processar todas as mensagens e arquivos compartilhados pelos dois usuários. Essa é a ideia/

Responder1

Não está claro se ambos os clientes estão na mesma rede. Presumo que não, caso contrário esta questão não teria surgido.

Da suposição acima segue-se que um cliente não pode endereçar diretamente um pacote TCP/IP para o outro cliente, então isso requer absolutamente uma ponte. Então, de uma maneira geral, a resposta é que isso é impossível – sempre será necessária uma ponte como intermediária.

No entanto, se os dois clientes estiverem conectados à Internet através de um roteador, eles poderão usar a Internet como ponte, por exemplo, usando opwnatProgramas. Para mais detalhes vejaesta respostameu.

informação relacionada