Eu tenho dois programas escritos por mim: servidor e cliente. O cliente usa o endereço IP do servidor para se conectar a ele pela Internet. Após a conexão ter sido estabelecida, o servidor deve exibir a mensagem "Cliente conectado". É isso aí.
Os programas de servidor e cliente são executados no Windows 7 em computadores diferentes. Para fazer o programa do servidor funcionar corretamente, fiz algumas personalizações de ambiente:
1. Firewall desativado: Firewall do Windows - Personalizar configurações - Desativar o Firewall do Windows (configurações feitas como aqui )
2. Tenho IP estático e roteador TPLink TL-WR841N. Então eu fiz o encaminhamento de porta dessa maneira: configurações do roteador - Encaminhamento - Servidores Virtuais. No menu aberto , inseri o IP local do servidor (por exemplo, 192.168.1.15) e a porta (37777). Neste ponto, os serviços de verificação de portas online, como isto , dizem que a porta 37777 está aberta.
Agora eu espero que tudo funcione. Mas isso não acontece: o programa cliente tenta estabelecer conexão, mas falha, mostrando 'erro de tempo limite do soquete'. Programas como o telnet não podem se conectar ao servidor também. Se eu executar os programas servidor e cliente no computador servidor (um computador se conecta a ele) tudo funciona bem (mesmo se eu usar o endereço IP externo). Se eu executar o programa do servidor e, em seguida, tentar serviços de verificação de porta, ele mostrará que 'Cliente conectado'.
Como configurar os dois computadores corretamente?