| | |
- BaseRequestHandler
-
- DatagramRequestHandler
- StreamRequestHandler
- BaseServer
-
- TCPServer
-
- UDPServer
-
- UnixDatagramServer
- UnixStreamServer
- ForkingMixIn
-
- ForkingTCPServer(ForkingMixIn, TCPServer)
- ForkingUDPServer(ForkingMixIn, UDPServer)
- ThreadingMixIn
-
- ThreadingTCPServer(ThreadingMixIn, TCPServer)
- ThreadingUDPServer(ThreadingMixIn, UDPServer)
- ThreadingUnixDatagramServer(ThreadingMixIn, UnixDatagramServer)
- ThreadingUnixStreamServer(ThreadingMixIn, UnixStreamServer)
class BaseRequestHandler |
| |
Base class for request handler classes.
This class is instantiated for each request to be handled. The
constructor sets the instance variables request, client_address
and server, and then calls the handle() method. To implement a
specific service, all you need to do is to derive a class which
defines a handle() method.
The handle() method can find the request as self.request, the
client address as self.client_address, and the server (in case it
needs access to per-server information) as self.server. Since a
separate instance is created for each request, the handle() method
can define arbitrary other instance variariables. |
| |
Methods defined here:
- __init__(self, request, client_address, server)
- finish(self)
- handle(self)
- setup(self)
Data and non-method functions defined here:
- __doc__ = 'Base class for request handler classes.\n\n ...e arbitrary other instance variariables.\n\n '
- __module__ = 'SocketServer'
|
class BaseServer |
| |
Base class for server classes.
Methods for the caller:
- __init__(server_address, RequestHandlerClass)
- serve_forever()
- 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
- verify_request(request, client_address)
- server_close()
- process_request(request, client_address)
- 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:
- address_family
- socket_type
- reuse_address
Instance variables:
- RequestHandlerClass
- socket |
| |
Methods defined here:
- __init__(self, server_address, RequestHandlerClass)
- Constructor. May be extended, do not override.
- close_request(self, request)
- Called to clean up an individual request.
- finish_request(self, request, client_address)
- Finish one request by instantiating RequestHandlerClass.
- handle_error(self, request, client_address)
- Handle an error gracefully. May be overridden.
The default is to print a traceback and continue.
- handle_request(self)
- Handle one request, possibly blocking.
- process_request(self, request, client_address)
- Call finish_request.
Overridden by ForkingMixIn and ThreadingMixIn.
- serve_forever(self)
- Handle one request at a time until doomsday.
- server_activate(self)
- Called by constructor to activate the server.
May be overridden.
- server_close(self)
- Called to clean-up the server.
May be overridden.
- verify_request(self, request, client_address)
- Verify the request. May be overridden.
Return true if we should proceed with this request.
Data and non-method functions defined here:
- __doc__ = 'Base class for server classes.\n\n Methods f...n - RequestHandlerClass\n - socket\n\n '
- __module__ = 'SocketServer'
|
class ForkingMixIn |
| |
Mix-in class to handle each request in a new process. |
| |
Methods defined here:
- collect_children(self)
- Internal routine to wait for died children.
- process_request(self, request, client_address)
- Fork a new subprocess to process the request.
Data and non-method functions defined here:
- __doc__ = 'Mix-in class to handle each request in a new process.'
- __module__ = 'SocketServer'
- active_children = None
- max_children = 40
|
class ForkingTCPServer(ForkingMixIn, TCPServer) |
| |
|
| |
- Method resolution order:
- ForkingTCPServer
- ForkingMixIn
- TCPServer
- BaseServer
Data and non-method functions defined here:
- __doc__ = None
- __module__ = 'SocketServer'
Methods inherited from ForkingMixIn:
- collect_children(self)
- Internal routine to wait for died children.
- process_request(self, request, client_address)
- Fork a new subprocess to process the request.
Data and non-method functions inherited from ForkingMixIn:
- active_children = None
- max_children = 40
Methods inherited from TCPServer:
- __init__(self, server_address, RequestHandlerClass)
- Constructor. May be extended, do not override.
- close_request(self, request)
- Called to clean up an individual request.
- fileno(self)
- Return socket file number.
Interface required by select().
- get_request(self)
- Get the request and client address from the socket.
May be overridden.
- server_activate(self)
- Called by constructor to activate the server.
May be overridden.
- server_bind(self)
- Called by constructor to bind the socket.
May be overridden.
- server_close(self)
- Called to clean-up the server.
May be overridden.
Data and non-method functions inherited from TCPServer:
- address_family = 2
- allow_reuse_address = 0
- request_queue_size = 5
- socket_type = 1
Methods inherited from BaseServer:
- finish_request(self, request, client_address)
- Finish one request by instantiating RequestHandlerClass.
- handle_error(self, request, client_address)
- Handle an error gracefully. May be overridden.
The default is to print a traceback and continue.
- handle_request(self)
- Handle one request, possibly blocking.
- serve_forever(self)
- Handle one request at a time until doomsday.
- verify_request(self, request, client_address)
- Verify the request. May be overridden.
Return true if we should proceed with this request.
|
class ForkingUDPServer(ForkingMixIn, UDPServer) |
| |
|
| |
- Method resolution order:
- ForkingUDPServer
- ForkingMixIn
- UDPServer
- TCPServer
- BaseServer
Data and non-method functions defined here:
- __doc__ = None
- __module__ = 'SocketServer'
Methods inherited from ForkingMixIn:
- collect_children(self)
- Internal routine to wait for died children.
- process_request(self, request, client_address)
- Fork a new subprocess to process the request.
Data and non-method functions inherited from ForkingMixIn:
- active_children = None
- max_children = 40
Methods inherited from UDPServer:
- close_request(self, request)
- get_request(self)
- server_activate(self)
Data and non-method functions inherited from UDPServer:
- allow_reuse_address = 0
- max_packet_size = 8192
- socket_type = 2
Methods inherited from TCPServer:
- __init__(self, server_address, RequestHandlerClass)
- Constructor. May be extended, do not override.
- fileno(self)
- Return socket file number.
Interface required by select().
- server_bind(self)
- Called by constructor to bind the socket.
May be overridden.
- server_close(self)
- Called to clean-up the server.
May be overridden.
Data and non-method functions inherited from TCPServer:
- address_family = 2
- request_queue_size = 5
Methods inherited from BaseServer:
- finish_request(self, request, client_address)
- Finish one request by instantiating RequestHandlerClass.
- handle_error(self, request, client_address)
- Handle an error gracefully. May be overridden.
The default is to print a traceback and continue.
- handle_request(self)
- Handle one request, possibly blocking.
- serve_forever(self)
- Handle one request at a time until doomsday.
- verify_request(self, request, client_address)
- Verify the request. May be overridden.
Return true if we should proceed with this request.
|
class TCPServer(BaseServer) |
| |
Base class for various socket-based server classes.
Defaults to synchronous IP stream (i.e., TCP).
Methods for the caller:
- __init__(server_address, RequestHandlerClass)
- serve_forever()
- 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
- verify_request(request, client_address)
- process_request(request, client_address)
- 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:
- address_family
- socket_type
- request_queue_size (only for stream sockets)
- reuse_address
Instance variables:
- server_address
- RequestHandlerClass
- socket |
| |
Methods defined here:
- __init__(self, server_address, RequestHandlerClass)
- Constructor. May be extended, do not override.
- close_request(self, request)
- Called to clean up an individual request.
- fileno(self)
- Return socket file number.
Interface required by select().
- get_request(self)
- Get the request and client address from the socket.
May be overridden.
- server_activate(self)
- Called by constructor to activate the server.
May be overridden.
- server_bind(self)
- Called by constructor to bind the socket.
May be overridden.
- server_close(self)
- Called to clean-up the server.
May be overridden.
Data and non-method functions defined here:
- __doc__ = 'Base class for various socket-based server clas...n - RequestHandlerClass\n - socket\n\n '
- __module__ = 'SocketServer'
- address_family = 2
- allow_reuse_address = 0
- request_queue_size = 5
- socket_type = 1
Methods inherited from BaseServer:
- finish_request(self, request, client_address)
- Finish one request by instantiating RequestHandlerClass.
- handle_error(self, request, client_address)
- Handle an error gracefully. May be overridden.
The default is to print a traceback and continue.
- handle_request(self)
- Handle one request, possibly blocking.
- process_request(self, request, client_address)
- Call finish_request.
Overridden by ForkingMixIn and ThreadingMixIn.
- serve_forever(self)
- Handle one request at a time until doomsday.
- verify_request(self, request, client_address)
- Verify the request. May be overridden.
Return true if we should proceed with this request.
|
class ThreadingMixIn |
| |
Mix-in class to handle each request in a new thread. |
| |
Methods defined here:
- process_request(self, request, client_address)
- Start a new thread to process the request.
- process_request_thread(self, request, client_address)
- Same as in BaseServer but as a thread.
In addition, exception handling is done here.
Data and non-method functions defined here:
- __doc__ = 'Mix-in class to handle each request in a new thread.'
- __module__ = 'SocketServer'
|
class ThreadingTCPServer(ThreadingMixIn, TCPServer) |
| |
|
| |
- Method resolution order:
- ThreadingTCPServer
- ThreadingMixIn
- TCPServer
- BaseServer
Data and non-method functions defined here:
- __doc__ = None
- __module__ = 'SocketServer'
Methods inherited from ThreadingMixIn:
- process_request(self, request, client_address)
- Start a new thread to process the request.
- process_request_thread(self, request, client_address)
- Same as in BaseServer but as a thread.
In addition, exception handling is done here.
Methods inherited from TCPServer:
- __init__(self, server_address, RequestHandlerClass)
- Constructor. May be extended, do not override.
- close_request(self, request)
- Called to clean up an individual request.
- fileno(self)
- Return socket file number.
Interface required by select().
- get_request(self)
- Get the request and client address from the socket.
May be overridden.
- server_activate(self)
- Called by constructor to activate the server.
May be overridden.
- server_bind(self)
- Called by constructor to bind the socket.
May be overridden.
- server_close(self)
- Called to clean-up the server.
May be overridden.
Data and non-method functions inherited from TCPServer:
- address_family = 2
- allow_reuse_address = 0
- request_queue_size = 5
- socket_type = 1
Methods inherited from BaseServer:
- finish_request(self, request, client_address)
- Finish one request by instantiating RequestHandlerClass.
- handle_error(self, request, client_address)
- Handle an error gracefully. May be overridden.
The default is to print a traceback and continue.
- handle_request(self)
- Handle one request, possibly blocking.
- serve_forever(self)
- Handle one request at a time until doomsday.
- verify_request(self, request, client_address)
- Verify the request. May be overridden.
Return true if we should proceed with this request.
|
class ThreadingUDPServer(ThreadingMixIn, UDPServer) |
| |
|
| |
- Method resolution order:
- ThreadingUDPServer
- ThreadingMixIn
- UDPServer
- TCPServer
- BaseServer
Data and non-method functions defined here:
- __doc__ = None
- __module__ = 'SocketServer'
Methods inherited from ThreadingMixIn:
- process_request(self, request, client_address)
- Start a new thread to process the request.
- process_request_thread(self, request, client_address)
- Same as in BaseServer but as a thread.
In addition, exception handling is done here.
Methods inherited from UDPServer:
- close_request(self, request)
- get_request(self)
- server_activate(self)
Data and non-method functions inherited from UDPServer:
- allow_reuse_address = 0
- max_packet_size = 8192
- socket_type = 2
Methods inherited from TCPServer:
- __init__(self, server_address, RequestHandlerClass)
- Constructor. May be extended, do not override.
- fileno(self)
- Return socket file number.
Interface required by select().
- server_bind(self)
- Called by constructor to bind the socket.
May be overridden.
- server_close(self)
- Called to clean-up the server.
May be overridden.
Data and non-method functions inherited from TCPServer:
- address_family = 2
- request_queue_size = 5
Methods inherited from BaseServer:
- finish_request(self, request, client_address)
- Finish one request by instantiating RequestHandlerClass.
- handle_error(self, request, client_address)
- Handle an error gracefully. May be overridden.
The default is to print a traceback and continue.
- handle_request(self)
- Handle one request, possibly blocking.
- serve_forever(self)
- Handle one request at a time until doomsday.
- verify_request(self, request, client_address)
- Verify the request. May be overridden.
Return true if we should proceed with this request.
|
class ThreadingUnixDatagramServer(ThreadingMixIn, UnixDatagramServer) |
| |
|
| |
- Method resolution order:
- ThreadingUnixDatagramServer
- ThreadingMixIn
- UnixDatagramServer
- UDPServer
- TCPServer
- BaseServer
Data and non-method functions defined here:
- __doc__ = None
- __module__ = 'SocketServer'
Methods inherited from ThreadingMixIn:
- process_request(self, request, client_address)
- Start a new thread to process the request.
- process_request_thread(self, request, client_address)
- Same as in BaseServer but as a thread.
In addition, exception handling is done here.
Data and non-method functions inherited from UnixDatagramServer:
- address_family = 1
Methods inherited from UDPServer:
- close_request(self, request)
- get_request(self)
- server_activate(self)
Data and non-method functions inherited from UDPServer:
- allow_reuse_address = 0
- max_packet_size = 8192
- socket_type = 2
Methods inherited from TCPServer:
- __init__(self, server_address, RequestHandlerClass)
- Constructor. May be extended, do not override.
- fileno(self)
- Return socket file number.
Interface required by select().
- server_bind(self)
- Called by constructor to bind the socket.
May be overridden.
- server_close(self)
- Called to clean-up the server.
May be overridden.
Data and non-method functions inherited from TCPServer:
- request_queue_size = 5
Methods inherited from BaseServer:
- finish_request(self, request, client_address)
- Finish one request by instantiating RequestHandlerClass.
- handle_error(self, request, client_address)
- Handle an error gracefully. May be overridden.
The default is to print a traceback and continue.
- handle_request(self)
- Handle one request, possibly blocking.
- serve_forever(self)
- Handle one request at a time until doomsday.
- verify_request(self, request, client_address)
- Verify the request. May be overridden.
Return true if we should proceed with this request.
|
class ThreadingUnixStreamServer(ThreadingMixIn, UnixStreamServer) |
| |
|
| |
- Method resolution order:
- ThreadingUnixStreamServer
- ThreadingMixIn
- UnixStreamServer
- TCPServer
- BaseServer
Data and non-method functions defined here:
- __doc__ = None
- __module__ = 'SocketServer'
Methods inherited from ThreadingMixIn:
- process_request(self, request, client_address)
- Start a new thread to process the request.
- process_request_thread(self, request, client_address)
- Same as in BaseServer but as a thread.
In addition, exception handling is done here.
Data and non-method functions inherited from UnixStreamServer:
- address_family = 1
Methods inherited from TCPServer:
- __init__(self, server_address, RequestHandlerClass)
- Constructor. May be extended, do not override.
- close_request(self, request)
- Called to clean up an individual request.
- fileno(self)
- Return socket file number.
Interface required by select().
- get_request(self)
- Get the request and client address from the socket.
May be overridden.
- server_activate(self)
- Called by constructor to activate the server.
May be overridden.
- server_bind(self)
- Called by constructor to bind the socket.
May be overridden.
- server_close(self)
- Called to clean-up the server.
May be overridden.
Data and non-method functions inherited from TCPServer:
- allow_reuse_address = 0
- request_queue_size = 5
- socket_type = 1
Methods inherited from BaseServer:
- finish_request(self, request, client_address)
- Finish one request by instantiating RequestHandlerClass.
- handle_error(self, request, client_address)
- Handle an error gracefully. May be overridden.
The default is to print a traceback and continue.
- handle_request(self)
- Handle one request, possibly blocking.
- serve_forever(self)
- Handle one request at a time until doomsday.
- verify_request(self, request, client_address)
- Verify the request. May be overridden.
Return true if we should proceed with this request.
|
class UDPServer(TCPServer) |
| |
UDP server class. |
| |
- Method resolution order:
- UDPServer
- TCPServer
- BaseServer
Methods defined here:
- close_request(self, request)
- get_request(self)
- server_activate(self)
Data and non-method functions defined here:
- __doc__ = 'UDP server class.'
- __module__ = 'SocketServer'
- allow_reuse_address = 0
- max_packet_size = 8192
- socket_type = 2
Methods inherited from TCPServer:
- __init__(self, server_address, RequestHandlerClass)
- Constructor. May be extended, do not override.
- fileno(self)
- Return socket file number.
Interface required by select().
- server_bind(self)
- Called by constructor to bind the socket.
May be overridden.
- server_close(self)
- Called to clean-up the server.
May be overridden.
Data and non-method functions inherited from TCPServer:
- address_family = 2
- request_queue_size = 5
Methods inherited from BaseServer:
- finish_request(self, request, client_address)
- Finish one request by instantiating RequestHandlerClass.
- handle_error(self, request, client_address)
- Handle an error gracefully. May be overridden.
The default is to print a traceback and continue.
- handle_request(self)
- Handle one request, possibly blocking.
- process_request(self, request, client_address)
- Call finish_request.
Overridden by ForkingMixIn and ThreadingMixIn.
- serve_forever(self)
- Handle one request at a time until doomsday.
- verify_request(self, request, client_address)
- Verify the request. May be overridden.
Return true if we should proceed with this request.
|
class UnixDatagramServer(UDPServer) |
| |
|
| |
- Method resolution order:
- UnixDatagramServer
- UDPServer
- TCPServer
- BaseServer
Data and non-method functions defined here:
- __doc__ = None
- __module__ = 'SocketServer'
- address_family = 1
Methods inherited from UDPServer:
- close_request(self, request)
- get_request(self)
- server_activate(self)
Data and non-method functions inherited from UDPServer:
- allow_reuse_address = 0
- max_packet_size = 8192
- socket_type = 2
Methods inherited from TCPServer:
- __init__(self, server_address, RequestHandlerClass)
- Constructor. May be extended, do not override.
- fileno(self)
- Return socket file number.
Interface required by select().
- server_bind(self)
- Called by constructor to bind the socket.
May be overridden.
- server_close(self)
- Called to clean-up the server.
May be overridden.
Data and non-method functions inherited from TCPServer:
- request_queue_size = 5
Methods inherited from BaseServer:
- finish_request(self, request, client_address)
- Finish one request by instantiating RequestHandlerClass.
- handle_error(self, request, client_address)
- Handle an error gracefully. May be overridden.
The default is to print a traceback and continue.
- handle_request(self)
- Handle one request, possibly blocking.
- process_request(self, request, client_address)
- Call finish_request.
Overridden by ForkingMixIn and ThreadingMixIn.
- serve_forever(self)
- Handle one request at a time until doomsday.
- verify_request(self, request, client_address)
- Verify the request. May be overridden.
Return true if we should proceed with this request.
|
class UnixStreamServer(TCPServer) |
| |
|
| |
- Method resolution order:
- UnixStreamServer
- TCPServer
- BaseServer
Data and non-method functions defined here:
- __doc__ = None
- __module__ = 'SocketServer'
- address_family = 1
Methods inherited from TCPServer:
- __init__(self, server_address, RequestHandlerClass)
- Constructor. May be extended, do not override.
- close_request(self, request)
- Called to clean up an individual request.
- fileno(self)
- Return socket file number.
Interface required by select().
- get_request(self)
- Get the request and client address from the socket.
May be overridden.
- server_activate(self)
- Called by constructor to activate the server.
May be overridden.
- server_bind(self)
- Called by constructor to bind the socket.
May be overridden.
- server_close(self)
- Called to clean-up the server.
May be overridden.
Data and non-method functions inherited from TCPServer:
- allow_reuse_address = 0
- request_queue_size = 5
- socket_type = 1
Methods inherited from BaseServer:
- finish_request(self, request, client_address)
- Finish one request by instantiating RequestHandlerClass.
- handle_error(self, request, client_address)
- Handle an error gracefully. May be overridden.
The default is to print a traceback and continue.
- handle_request(self)
- Handle one request, possibly blocking.
- process_request(self, request, client_address)
- Call finish_request.
Overridden by ForkingMixIn and ThreadingMixIn.
- serve_forever(self)
- Handle one request at a time until doomsday.
- verify_request(self, request, client_address)
- Verify the request. May be overridden.
Return true if we should proceed with this request.
| |