J'ai une question concernant le socket client sur un réseau TCP/IP. Disons que j'utilise
try:
comSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
comSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
except socket.error, msg:
sys.stderr.write("[ERROR] %s\n" % msg[1])
sys.exit(1)
try:
comSocket.bind(('', 5555))
comSocket.connect()
except socket.error, msg:
sys.stderr.write("[ERROR] %s\n" % msg[1])
sys.exit(2)
Le socket créé sera lié au port 5555. Le problème est qu'après la fin de la connexion
comSocket.shutdown(1)
comSocket.close()
En utilisant Wireshark, je vois que le socket est fermé avec FIN, ACK et ACK des deux côtés, je ne peux pas réutiliser le port. Je reçois l'erreur suivante:
[ERROR] Address already in use
Je me demande comment je peux libérer le port immédiatement pour pouvoir l'utiliser la prochaine fois.
comSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
setsockopt ne semble pas pouvoir résoudre le problème Merci!