почему закрытый сокет не может быть повторно использован для подключения к серверу? - PullRequest
0 голосов
/ 21 сентября 2019

Сначала я закрываю клиент сокетного соединения, затем хочу повторно использовать его для подключения к тому же серверу сокетов, но он сообщает «Описатель плохого файла».Почему нельзя это сделать?

>>> import socket
>>> sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>> sock.connect(('localhost', 8080))
>>> sock.send(b'hello')
5
>>> sock.close()
>>> sock
<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0>
>>> sock.connect(('localhost', 8080))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 9] Bad file descriptor
...