все Python 3socketфункция
socket.fromfd()
создание сокетов
Создаёт объект сокета из готового файлового дескриптора, предварительно дублируя его.
Синтаксис
sock = socket.fromfd(fd, family, type, proto=0)
Дескриптор копируется (dup), поэтому у исходного и нового объекта разные номера и жизнь у них раздельная: закрытие одного не закрывает другой, закрыть нужно оба. Семейство и тип Python не проверяет — переданные неверно, они заставят объект врать о себе. Если дескриптор надо не скопировать, а забрать во владение, пишут socket.socket(fileno=fd).
Примеры
import socket
a, b = socket.socketpair()
c = socket.fromfd(a.fileno(), a.family, a.type)
print(c.fileno() != a.fileno()) # → True — это копия дескриптора
a.close()
c.sendall(b'still open')
print(b.recv(1024)) # → b'still open'
c.close()
b.close()
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности