Partage
  • Partager sur Facebook
  • Partager sur Twitter

Communication via socket

ConnectionRefusedError

Sujet résolu
    25 mai 2022 à 22:42:55

    Bonjour,

    j'essaie d'établir une communication basique entre un serveur et plusieurs clients via les modules socket et select.

    Malheureusement, lorsque j'exécute le code du client l'erreur suivante est affichée:

    Traceback (most recent call last):
      File "C:\Chat\client.py", line 4, in <module>
        connexion_serveur.connect(('localhost',10005))
    ConnectionRefusedError: [WinError 10061] Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée
    

    Voici les codes du client et du serveur:

    #Client
    import socket
    connexion_serveur = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    print("Attempting connexion on port 10005")
    connexion_serveur.connect(('localhost',10005))
    
    print(connexion_serveur.recv(1024))
    #Serveur
    import socket
    import select
    
    class Server:
        def __init__(self, host = 'localhost', port = 10005, max_listen = 5):
            self.host = host
            self.port = port
            self.max_listen = max_listen
            self.socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#Création du socket
            self.socket.bind((self.host,self.port))
            self.clients=[]
            self.clients_pseudos=[]
            self.messages=[]
        def run(self):
            print(f"server running on port {self.port}")
            while True:
                connexion_requests, wlist, xlist = select.select([self.socket],[],[],0.05)
                print(connexion_requests)
                for connexion in connexion_requests:
                    client_connexion, connexions_infos = connexion.accept()
                    self.clients.append(client_connexion)
    server1 = Server()
    server1.run()
    print("server closed...")

    Je précise que j'utilise pyzo, sous windows, que j'ai bien ouvert et exécuté mes deux scripts dans des fenêtres différentes et que j'ai bien exécute le code du serveur avant celui du client.

    Merci d'avance pour toute aide!!

    EDIT: Ca va faire 3h que je suis dessus et j'avais pas remarqué que j'avais oublié d'appeler listen()

    Ca marche avec.

    -
    Edité par the-cellist 25 mai 2022 à 23:01:28

    • Partager sur Facebook
    • Partager sur Twitter

    pensez à mettre un pouce en l'air si le message vous a aidé! 

      26 mai 2022 à 0:39:06

      You must always have to listen to what the client has to say. :)
      Tant mieux si tu as trouvé!
      • Partager sur Facebook
      • Partager sur Twitter

      Le Tout est souvent plus grand que la somme de ses parties.

      Communication via socket

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown