• [^] # Re: quelle version de Python ?

    Posté par (site web personnel, Mastodon) . En réponse au message Reconnecter une socket. Évalué à 2.

    C'est python 2.6.1. Pour le code, il n'a pas grande importance, c'est le mécanisme en lui même qui compte. J'avais trouvé ce lien, mais il ne donne pas d'info utile. Il parle de send et recv alors que j'ai le problème sans même les appeler.

    Avec shutdown :

    import socket
    s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
    s.connect (('', 4001))
    s.shutdown (socket.SHUT_RDWR)
    s.connect (('', 4001))

    Traceback (most recent call last):
    File "", line 1, in
    File "", line 1, in connect
    socket.error: [Errno 106] Transport endpoint is already connected


    Avec close :

    import socket
    s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
    s.connect (('', 4001))
    s.close ()
    s.connect (('', 4001))

    Traceback (most recent call last):
    File "", line 1, in
    File "", line 1, in connect
    File "/usr/lib/python2.6/socket.py", line 165, in _dummy
    raise error(EBADF, 'Bad file descriptor')
    socket.error: [Errno 106] Transport endpoint is already connected