An eventlet-based chat server

The eventlet library provides a high-level API for event-driven programming, but it does so in a style that mimics the procedural, blocking-IO style that we used in our multithreaded servers. The upshot is that we can effectively take our multithreaded chat server code, make a few minor modifications to it to use eventlet instead, and immediately gain the benefits of the event-driven model!

The eventlet library is available in PyPi, and it can be installed with pip, as shown here:

$ pip install eventlet
Downloading/unpacking eventlet

Note

The eventlet library automatically falls back to select if poll is not available, so it will run properly on Windows.

Once it's installed, create a new file called 4.1-chat_server-eventlet.py ...

Get Learning Python Network Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.