je veux exécuter le code de serveur simple:OSError [Errno 99] - python
import socket
s = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
port = 22331 # Reserve a port
s.bind((host, port)) # Bind to the port
s.listen(5) # Now wait for client connection.
while True:
c, addr = s.accept() # Establish connection with client.
print('Got connection from', addr)
c.send('Thank you for connecting')
c.close()
donne l'erreur suivante lors de l'exécution:
OSError: [Errno 99] Cannot assign requested address
pourquoi le système d'exploitation ne peut pas lier le port spécifié avec l'adresse?
Vous voulez probablement 'host = « 0.0.0.0''. 'socket.gethostname()' renvoie le nom d'hôte, pas une adresse IP. –
Je suis d'accord avec @ValentinLorentz, vous devriez essayer d'être spécifique à propos de l'IP ou utiliser '0.0.0.0'. Il semble que votre 'gethostname()' renvoie un IP/nom qui ne se résout pas à une adresse IP présente sur l'hôte sur lequel vous exécutez le script. –
Le code que vous avez mentionné dans votre question ne génère pas cette erreur. Cela a fonctionné correctement sur Windows 8 avec python v2.7. S'il vous plaît nous montrer le code côté client aussi! –