Bonjour,

J'exécute sur la même machine un bout de code serveur et un autre client avec le module socket.

Mon problème provient du fait que si j'utilise l'adresse IP en 192.168.77.1 au lieu du nom de la machine cela ne fonctionne pas. Si j'utilise le nom de la machine cela fonctionne.
Voici le code de la partie client:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import socket               # Import socket module
 
s = socket.socket()         # Create a socket object
#host = socket.gethostname() # Get local machine name
host = '192.168.77.1'
#host = 'FR-31-01-13-061'
 
print host
port = 12345                # Reserve a port for your service.
 
mon_tuple = (host, port)
 
s.connect(mon_tuple)
print s.recv(1024)
s.close                     # Close the socket when done
Voici celui la partie serveur qui ne pose pas de problème il me semble:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
import socket               # Import socket module
 
s = socket.socket()         # Create a socket object
host = socket.gethostname() # Get local machine name
port = 12345                # Reserve a port for your service.
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()                # Close the connection
L'erreur que j'obtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Traceback (most recent call last):
  File "D:\Users\sedasilv\Desktop\client_TCP.py", line 23, in <module>
    s.connect(mon_tuple)
  File "C:\Python27\lib\socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 10061] Aucune connexion n'a pu être établie car l'ordinateur
cible l'a expressément refusée
Je suis sur Windows 7 et j'ai désactivé le pare-feu.