python - Using IPv6 socket with GEvent WSGIServer -
i'm trying bind wsgiserver ipv6 loopback address:
import socket import gevent 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()
but yields
error: [errno 22] invalid argument
in
file "/usr/local/lib/python2.7/dist-packages/gevent/server.py", line 122, in _do_accept client_socket, address = self.socket.accept()
i've tried utilize gevent monkeypatcher, didn't help. importing gevent after socket creation didn't help either.
ipv6 enabled on system. if replace server construction plain accept(), socket binds , accepts connections.
listener.listen(5) listener.accept()
i'm stupid... gevent doesn't invoke listen()
on provided socket, had phone call myself before creating server.
python ipv6 gevent
No comments:
Post a Comment