Я попробовал следующий код и получил ошибку OSError: [Errno 92] Protocol not available. Что я делаю не так?
OSError: [Errno 92] Protocol not available
import socket s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s2.setsockopt(socket.SOL_SOCKET, socket.SO_ACCEPTCONN, 0)
Неясно, чего вы пытаетесь достичь, используя эту опцию. Но в документации четко сказано:
SO_ACCEPTCONN Возвращает значение, указывающее, был ли отмечен этот сокет для приема соединений с listen (2). Значение 0 указывает, что это не прослушивающий сокет, значение 1 указывает, что это прослушивающий сокет. Эта опция сокета доступна только для чтения.
Таким образом, нет смысла использовать эту опцию с setsockopt (запись), и поэтому она не поддерживается. Использование только с getsockopt (чтение) имело бы смысл.
setsockopt
getsockopt