0
Я пытаюсь связать WSGIServer с петлевой адрес IPv6:Использование IPv6 сокет с GEvent WSGIServer
import socket
import gevent
from gevent.pywsgi import WSGIServer
addrs = socket.getaddrinfo('::1', 8000, socket.AF_INET6, 0, socket.SOL_TCP)
bind_spec = addrs[0][-1]
listener = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
listener.bind(bind_spec)
server = WSGIServer(
listener,
lambda a,b:'asd'
)
server.serve_forever()
Но это только дает
error: [Errno 22] Invalid argument
в
File "/usr/local/lib/python2.7/dist-packages/gevent/server.py", line 122, in _do_accept
client_socket, address = self.socket.accept()
Я вы пытались использовать gevent monkeypatcher, что не помогло. Импорт настроек gevent AFTER socket тоже не помог.
IPv6 включен в моей системе. Если я заменил конструкцию сервера на plain accept(), сокет успешно связывается и принимает соединения.
listener.listen(5)
listener.accept()