SocketServer.BaseServer

class SocketServer.BaseServer(server_address, RequestHandlerClass)[source]

Base class for server classes.

Methods for the caller:

  • __init__(server_address, RequestHandlerClass)
  • serve_forever(poll_interval=0.5)
  • shutdown()
  • handle_request() # if you do not use serve_forever()
  • fileno() -> int # for select()

Methods that may be overridden:

  • server_bind()
  • server_activate()
  • get_request() -> request, client_address
  • handle_timeout()
  • verify_request(request, client_address)
  • server_close()
  • process_request(request, client_address)
  • shutdown_request(request)
  • close_request(request)
  • handle_error()

Methods for derived classes:

  • finish_request(request, client_address)

Class variables that may be overridden by derived classes or instances:

  • timeout
  • address_family
  • socket_type
  • allow_reuse_address

Instance variables:

  • RequestHandlerClass
  • socket

Methods

__init__(server_address, RequestHandlerClass) Constructor.
_handle_request_noblock() Handle one request, without blocking.
close_request(request) Called to clean up an individual request.
finish_request(request, client_address) Finish one request by instantiating RequestHandlerClass.
handle_error(request, client_address) Handle an error gracefully.
handle_request() Handle one request, possibly blocking.
handle_timeout() Called if no new request arrives within self.timeout.
process_request(request, client_address) Call finish_request.
serve_forever([poll_interval]) Handle one request at a time until shutdown.
server_activate() Called by constructor to activate the server.
server_close() Called to clean-up the server.
shutdown() Stops the serve_forever loop.
shutdown_request(request) Called to shutdown and close an individual request.
verify_request(request, client_address) Verify the request.

Attributes

timeout