все Python 3socketфункция
socket.getprotobyname()
имена и адреса
Переводит имя протокола ('tcp', 'udp', 'icmp') в его номер для третьего аргумента socket().
Синтаксис
socket.getprotobyname(protocolname) -> int
Нужна почти только для сырых сокетов (SOCK_RAW): для TCP и UDP протокол выбирается сам при proto=0. Номера берутся из локального файла /etc/protocols, а не из сети; в минимальных Docker-образах его нет, и вызов падает OSError. Надёжнее готовые константы socket.IPPROTO_TCP и IPPROTO_UDP.
Примеры
import socket
print(socket.getprotobyname('tcp')) # → 6
print(socket.getprotobyname('udp') == socket.IPPROTO_UDP) # → True
socket.getprotobyname('no-such-proto') # → OSError: protocol not found
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности