Conexão de soquete remoto C

0

Eu escrevi um aplicativo de servidor simples em C. Eu consegui estabelecer uma conexão usando telnet. O problema é que eu não consigo acessar o servidor se eu especificar public em vez de ip local em telnet. Quero dizer que isso funcionou

telnet 192.168.1.2 20600

enquanto isso não aconteceu

telnet 151.53.150.45 20600

Eu li em torno da web este é um problema de configuração NAT, mas a porta 20600 parece estar aberta (de acordo com link e link ). Além disso eu desativei o firewall, então não pode ser a causa da falha ...

Alguma ajuda?

    
por studiohack 05.04.2011 / 22:23

3 respostas

1

Um NAT doméstico típico é projetado para garantir que as conexões de saída possam se comunicar com os endpoints externos. Por padrão, um NAT residencial não encaminha as portas na interface externa (por exemplo, do seu provedor de modem a cabo) para sua caixa de dispositivos.

Você precisará configurar seu NAT para encaminhar conexões de entrada na porta 20600 para 192.168.1.2. Isso geralmente é chamado de "encaminhamento de porta". Confira o link para obter guias detalhados para a maioria das opções de hardware.

Perguntas sobre esses detalhes de configuração seriam mais adequadas para o link .

    
por 05.04.2011 / 22:28
0

A sua máquina 192.168.1.2 está atrás de um roteador? ou é o roteador ?.

Você geralmente precisará configurar uma regra de encaminhamento de porta para permitir que o tráfego público na porta 20600 do seu roteador seja redirecionado para 192.168.1.2

    
por 05.04.2011 / 22:29
0

Vou colocar meu chapéu psíquico e adivinhar o que está acontecendo aqui.

Você tem um cliente, digamos 192.168.1.3 , e pode se conectar muito bem com 192.168.1.2 . Mas quando você tenta se conectar a partir dele para o IP externo do seu roteador NAT, você não recebe nada. Isso ocorre porque você está dentro do roteador NAT e é barato e não está configurado para esse tipo de coisa. Para verificar se o seu servidor pode ser acessado de fora da sua rede, você deve tentar acessá-lo de fora da sua rede.

Vá para a casa de um amigo e tente se conectar. Se isso não funcionar, verifique se você configurou o encaminhamento de porta corretamente no seu dispositivo NAT. Se ainda assim não funcionar, faça uma nova pergunta aqui e poste um código.

    
por 05.04.2011 / 22:39