PyMOTW: asyncore

The asyncore module includes tools for working with I/O objects
such as sockets so they can be managed asynchronously (instead of, for
example, using threads). The main class provided is dispatcher, a
wrapper around a socket that provides hooks for handling events like
connecting, reading, and writing when invoked from the main loop
function, loop().

Read more at asyncore