Networking¶
Network communication is used to retrieve data needed for an algorithm running locally, share information for distributed processing, and to manage cloud services. Python’s standard library comes complete with modules for creating network services, as well as for accessing existing services remotely.
The ipaddress
module includes classes for validating,
comparing, and otherwise operating on IPv4 and IPv6 network
addresses.
The low-level socket
library provides direct access to the
native C socket library, and can be used to communicate with any
network service. selectors
provides a high-level interface for
watching multiple sockets simultaneously, and is useful for allowing
network servers to communicate with multiple clients
simultaneously. select
provides the low-level APIs used by
selectors
.
The frameworks in socketserver
abstract out a lot of the
repetitive work necessary to create a new network server. The classes
can be combined to create servers that fork or use threads and support
TCP or UDP. Only the actual message handling needs to be provided by
the application.