Python 3.7+socketфункция
socket.close()
дескрипторы и служебные данные
Закрывает сокет по голому файловому дескриптору — аналог os.close(), работающий с сокетами и на Windows.
Синтаксис
socket.close(fd)
Нужна, когда у вас число, а не объект: после sock.detach() или дескриптор из чужого кода. На Windows os.close() сокеты не закрывает, отсюда и функция. Закрывать дескриптор, которым ещё владеет объект сокета, нельзя: объект позже закроет тот же номер, который ОС успеет отдать другому файлу.
Примеры
import socket
a, b = socket.socketpair()
fd = a.detach() # объект больше не владеет дескриптором
print(a.fileno()) # → -1
socket.close(fd)
b.settimeout(1)
print(b.recv(1024)) # → b'' — другая сторона закрыта
b.close()
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности