Python 3 – Hébergement d’un serveur

Fondamentalement, je crée un serveur de jeu pour mon jeu de texte Python. Ce que je veux, c’est laisser chaque joueur faire son propre serveur local et / ou serveur public mais je ne semble pas l’avoir. J’ai essayé ceci:

serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = input("Enter an IP: ") port = 10922 serversocket.bind((host, port)) 

Mais chaque fois que je l’exécute et que je tape ma propre adresse IP externe, cela me lance cette erreur: “OSError: [WinError 10049] L’adresse demandée n’est pas valide dans son contexte”

Edit: Pour append à cela, il ne fonctionne qu’avec host = “127.0.0.1” mais le serveur n’est pas public de cette façon.

Quelqu’un peut-il aider avec cela?

La raison pour laquelle cette erreur se produit est que vous êtes lié à une adresse inconnue d’où l’erreur.

Pour lier le socket à votre IP, faites: socket.gethostbyname(socket.gethostname()) à la place de l’adresse.

socket.gethostname() obtient le nom d’hôte de l’ordinateur, par exemple DANS_PC

socket.gethostbyname() recherche l’adresse IP du nom d’hôte fournie dans les parameters.

Pour rendre le serveur public, faites la même chose mais transférez l’adresse IP de votre ordinateur dans les parameters de votre routeur.