[WinError 10060] Une tentative de connexion a échoué car le

ISAXx_0204 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
ISAXx_0204 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -

bonjour :-),

je cherche a avoir 2 PC connecter entre eux par un sockets, le client doit demander au serveur un lien avant de l'ouvrir sur un navigateur. Je suis d'abord aller voir sur les forum python mais d'apres eu le probleme viendrait d'un probleme reseau et qu'il serait donc plus pertinent de poster ma question sur un forum reseau, mais apres avoir bien configurer le "port forwarding" pour le port 80, une autre erreur est apparue, erreur que je n'ai pas reussi a gerer avec eux...

PC faisant office de serveur :

import socket
 
# Créez un socket serveur
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
# Lier le socket à une adresse et un port
serversocket.bind(('', 80))
 
# Commencez à écouter les connexions entrantes
serversocket.listen(5)
 
while True:
    # Acceptez une connexion entrante
    (clientsocket, client_address) = serversocket.accept()
    print(f"Connexion entrante de {client_address}")
 
    # Lisez la requête HTTP du client
    request = clientsocket.recv(1024)
 
    # Répondez avec une réponse HTTP simple
    response = "HTTP/1.1 200 OK\r\n\r\nHello, World!"
    clientsocket.sendall(response.encode())
 
    # Fermez la connexion avec le client
    clientsocket.close()

client :

import subprocess
import sys
 
try:
    import flask
except ImportError:
    subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'flask'])
    import flask
 
try:
    import webbrowser
except ImportError:
    subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'webbrowser'])
    import webbrowser
 
import requests
import webbrowser
 
server_ip = '82.65.181.45'  # Remplacez par l'adresse IP réelle du serveur
 
response = requests.get(f'http://{server_ip}:80/demande_lien')
 
if response.status_code == 200:
    data = response.json()
    lien = data.get('lien')
 
    if lien:
        print(f"Ouverture du lien : {lien}")
        webbrowser.open(lien) 
    else:
        print("Aucun lien reçu du serveur.")
else:
    print(f"Erreur lors de la requête au serveur. Code de statut : {response.status_code}")

l'erreur (toujour du coté du client, coté serveur je ne recois aucune reponse sur le terminal) :

Une exception s'est produite : ConnectTimeout

HTTPConnectionPool(host='82.65.181.45', port=80): Max retries exceeded with url: /demande_lien (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x0000025304C6CCD0>, 'Connection to 82.65.181.45 timed out. (connect timeout=None)'))

TimeoutError: [WinError 10060] Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu

During handling of the above exception, another exception occurred:

urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPConnection object at 0x0000025304C6CCD0>, 'Connection to 82.65.181.45 timed out. (connect timeout=None)')

During handling of the above exception, another exception occurred:

urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='82.65.181.45', port=80): Max retries exceeded with url: /demande_lien (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x0000025304C6CCD0>, 'Connection to 82.65.181.45 timed out. (connect timeout=None)'))

Je ne sais pas si c'est utile :-/ , mias voici la derniere reponse sur le forum python :

Un forum réseau serait plus approprié.

Déjà s'il y a un serveur qui répond sur le port 80 de cette adresse IP, un navigateur Web "normal" devrait le joindre (ou reproduire une erreur semblable). Pour le reste, on ne se déplace pas chez vous: impossible de vérifier ce que vous avez fait ou de reproduire quoi que ce soit.

note: avec un problème python, si on reproduit le problème en recopiant quelques lignes de code, on pourra "comprendre" et vous donner une correction. Avec un problème réseau, il y a la box, le pare-feu, la sécurité de l'OS, l'état des ports,... liste non exhaustive de composants/configuration à (re)voir.

Merci par avance :-D

A voir également:

3 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 

bonjour,

  1. cela donne quoi avec un navigateur Web "normal", qui devrait pouvoir joindre le serveur?
  2. tu ne donnes aucune info sur ton réseau, ni comment tu as adapté la configuration du "port forwarding"
  3. fais aussi un essai avec une autre porte, disons 8888, la porte 80 étant parfois traitée différemment
0
ISAXx_0204 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 

je t'avoue ne pas savoir comment faire pour le pts 1

je suis sur free, et j'ai fait un port forwarding, il me semble standard, (2)

et je retrouve la même erreur après avoir essayer avec le port 8888 (3)

0
brupala Messages postés 111994 Date d'inscription   Statut Membre Dernière intervention   14 161 > ISAXx_0204 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 

Pour le point 1, tu tapes l'adresse dans la barre d'adresse du navigateur, c'est tout

As tu autorisé les connexions entrantes sur tcp 80 dans le pare-feu du serveur  ?

0
ISAXx_0204 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   > brupala Messages postés 111994 Date d'inscription   Statut Membre Dernière intervention  
 

quand je tape l'adresse :

Le délai d’attente est dépassé

Le serveur à l’adresse 82.65.181.45 met trop de temps à répondre.

    Le site est peut-être temporairement indisponible ou surchargé. Réessayez plus tard ;
    Si vous n’arrivez à naviguer sur aucun site, vérifiez la connexion au réseau de votre ordinateur ;
    Si votre ordinateur ou votre réseau est protégé par un pare-feu ou un proxy, assurez-vous que Firefox est autorisé à accéder au Web.

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > ISAXx_0204 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 

le port forwarding se fait bien vers l'adresse ip locale du serveur?

tu avais fait le port forwarding pour la porte 8888?

1
ISAXx_0204 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 

j'avais bien fait fait celui pour le port 8888

0
brupala Messages postés 111994 Date d'inscription   Statut Membre Dernière intervention   14 161
 

Salut,

si les deux PC sont sur la même box, utilise l'adresse locale pas l'adresse publique.


0
ISAXx_0204 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 

c'est sur un reseau distant

0
brupala Messages postés 111994 Date d'inscription   Statut Membre Dernière intervention   14 161
 

Je sais pas si ton serveur est en service, mais un wget ou un curl sur ton adresse ne me donne rien non plus, tu as testé en local  ?

Un nmap ne montre pas de port en attente d'ailleurs.

0
ISAXx_0204 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   > brupala Messages postés 111994 Date d'inscription   Statut Membre Dernière intervention  
 

en soit c'est normal car le serveur ne l'etait pas, mais tu peux regarder les reponse au dessus si c'est ce que tu a fais (et je l'ai remis en route)

0