Eu escrevi 2 programas em Python 2.7. Um cria um soquete de host enquanto o outro cria um soquete de cliente. Então eles tentam se conectar. Eu tinha meu programa host no meu PC e coloquei meu programa cliente no meu telefone que estava conectado ao WIFI na mesma rede do meu PC. Defino o programa cliente (no meu telefone, que está na minha LAN), para conectar ao endereço IP local do meu PC. Eu verifiquei se há falhas no meu código e descobri que é impecável. No entanto, quando tentei executá-lo, tive um comportamento muito estranho em troca:
- A porta está correta. O nome do host está correto. Eu tento conectar. Nada acontece. Nenhuma conexão é estabelecida.
- Eu redefinir meu PC.
- Eu tento de novo. Mesmo resultado.
- Eu desligo meu firewall local e público.
- Agora eu recebo algo, mas apenas no meu dispositivo cliente: [Erro 111] Conexão recusada.
- Eu ligo meus firewalls novamente.
- Mesmo resultado que em 1. (sem conexão)
- Eu executo o programa host no meu laptop. Eu tento conectar. Funciona!
- Reinicializo meu roteador e executo meu programa host no PC novamente. Mesmo resultado que em 1.
- Agora, também executo o programa cliente no meu PC, conectando-o ao "localhost". Funciona.
Eu faço o mesmo que em 10. configurando o programa cliente para conectar-me novamente ao endereço IP local do meu PC. Erro:
Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> s.connect(cn) File "C:\Python27\lib\socket.py", line 224, in meth return getattr(self._sock,name)(*args) error: [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
Em 6. Cheguei à conclusão de que o problema está relacionado ao PC e que meus programas funcionam bem.
Alguns intels:
- Windows 7 em PC e laptop.
- Estou usando o Python 2.7.
- Laptop e smartphone são conectados à rede via Wi-Fi, PC via cabel.
- Tentei portas diferentes para garantir que não fossem o problema.
provavelmente não é relevante, mas aqui está o código para o host e o cliente http://pastebin.com/raw/wswMi5SV
O que está acontecendo?