This is the component used to hook Gevent and its WSGI server to the WSGI app to be served, while dispatching any Socket.IO related activities to the handler and the transports.

class socketio.server.SocketIOServer(*args, **kwargs)[source]

Bases: gevent.pywsgi.WSGIServer

A WSGI Server with a resource that acts like an SocketIO.

__init__(*args, **kwargs)[source]

This is just like the standard WSGIServer __init__, except with a few additional kwargs:

  • resource – The URL which has to be identified as a request. Defaults to the / URL.
  • transports – Optional list of transports to allow. List of strings, each string should be one of handler.SocketIOHandler.handler_types.
  • policy_server – Boolean describing whether or not to use the Flash policy server. Default True.
  • policy_listener – A tuple containing (host, port) for the policy server. This is optional and used only if policy server is set to true. The default value is
  • heartbeat_interval – int The timeout for the server, we should receive a heartbeat from the client within this interval. This should be less than the heartbeat_timeout.
  • heartbeat_timeout – int The timeout for the client when it should send a new heartbeat to the server. This value is sent to the client after a successful handshake.
  • close_timeout – int The timeout for the client, when it closes the connection it still X amounts of seconds to do re open of the connection. This value is sent to the client after a successful handshake.
  • log_file – str The file in which you want the PyWSGI server to write its access log. If not specified, it is sent to stderr (with gevent 0.13).

Return an existing or new client Socket.

handle(socket, address)[source]