Pergunta

Estou escrevendo um programa de soquete binário ponto a ponto. Existem apenas dois pontos de extremidade. Um soquete está ouvindo meu sistema de laptop. O outro soquete está transmitindo do meu sistema de desktop. Eu tenho um terceiro programa em execução em um servidor hospedado, disponível para intermediar a conexão entre os dois. Meu problema é que, quando o laptop e o desktop estão na mesma rede, ambos têm o mesmo endereço IP da Internet, mas IPS diferentes, mas quando o laptop está na estrada, os endereços IP são diferentes. Para ser verdadeiramente ponto a ponto, tenho que escrevê-lo para que, após a conexão, os dois computadores se comuniquem diretamente entre si. Como isso geralmente é realizado, quando os dois computadores poderiam compartilhar o mesmo endereço IP, se estiverem em execução na mesma rede?

Foi útil?

Solução

Sua pergunta é realmente: como faço para lidar Tradução do Endereço da Rede em um sistema P2P?

Uma possibilidade é exigir orifícios cutucados nos sistemas NAT/Firewall-que garantirá que as solicitações para uma determinada porta sejam enviadas para um determinado computador. Permitir que vários clientes dentro da rede exigiria cutucá -lo e configurar cada cliente com a porta correspondente.

Outra possibilidade envolvendo UDP é aqui-Eu não revisei o suficiente para saber se ele realmente remove o corretor da equação após um aperto de mão.

Como sempre, Google pode ser seu amigo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top