SocketServer.TCPServer

class SocketServer.TCPServer(server_address, RequestHandlerClass, bind_and_activate=True)[source]

Base class for various socket-based server classes.

Defaults to synchronous IP stream (i.e., TCP).

Methods for the caller:

  • __init__(server_address, RequestHandlerClass, bind_and_activate=True)
  • serve_forever(poll_interval=0.5)
  • shutdown()
  • handle_request() # if you don’t 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)
  • 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
  • request_queue_size (only for stream sockets)
  • allow_reuse_address

Instance variables:

  • server_address
  • 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.
fileno() Return socket file number.
finish_request(request, client_address) Finish one request by instantiating RequestHandlerClass.
get_request() Get the request and client address from the socket.
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_bind() Called by constructor to bind the socket.
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.