port forwading para fazer um servidor no meu computador

0

Eu tentei criar um programa de bate-papo com java. Eu tenho sucesso quando eu uso o ip de 127.0.0.1 para conectar.

Soquete de soquete = novo soquete ("127.0.0.1", 5005);

tudo funcionou bem no meu computador e o programa até funcionou quando tentei conectar-me entre o meu comupter e o meu leptop, que usa o mesmo roteador. (eu fiz isso usando o ip local) Então eu queria conectar computadores que usam outros roteadores usando o ip externo. Então eu li na web e eu entendo que eu preciso para forwad minha porta através do meu roteador. Eu tenho um roteador Siemens ADSL Sl2-141. Eu forwad a porta 5005, e meu programa de bate-papo ainda não funciona. Eu recebo erro Connection Refused repetidamente. eu perdi alguma coisa?

    
por Shelef 11.02.2013 / 17:59

2 respostas

1

Primeiro, parece que você está configurando seu código para ouvir apenas no host local e não no endereço externo. Use uma conexão de soquete como esta: (conforme este guia )

EDIT (alterado conforme a discussão de comentários abaixo):

Socket socket = new Socket("PUBLIC_IP_ADDR",5005);

Onde PUBLIC_IP_ADDR é o endereço da sua internet que você pode localizar aqui

Se você ainda não conseguir uma conexão, verifique se o programa está disponível e atendendo ...

Guia para verificar sua porta

1) Se ainda não o fez, consulte este guia e confirme que você realizou todas as etapas.

2) Use esta ferramenta para confirmar se a sua porta está realmente aberta.

Se # 2 falhar, sua porta não estará realmente aberta. O PC que aceita a conexão escuta ativamente no 5005?

Windows:

Start -> Run -> cmd
  netstat -an | find /i "5005"

Linux:

(From terminal)
  netstat -l | grep 5005

Se isso não tiver "LISTENING" listado ao lado, seu aplicativo não está atento a conexões. Mas eu não suspeito que esse seja o problema, já que você pode fazer isso no host local.

Se isso falhar, confirme se o firewall do SO está aberto.

Isso é tudo o que consigo pensar agora

    
por 11.02.2013 / 18:10
0

O que o @Brian disse? Seu endereço interno provavelmente está errado, se o programa não estiver sendo executado. Tente substituir "127.0.0.1" pelo endereço interno ("10.whatever") e e, em seguida, execute-o no mesmo computador. Se isso funcionar, só então você deve tentar de outro computador. Se ele estiver bloqueado em outro computador na mesma sub-rede, é provável que você tenha um firewall de software ("Windows Defender" ou algum outro) que esteja bloqueando conexões externas.

O problema do escopo ainda permanece: se você precisar de ajuda para configurar seu roteador, o Google e, em seguida, o superuser.com são os locais a serem perguntados. Se você precisar de ajuda com programação, é para isso que este site serve.

    
por 11.02.2013 / 18:08