O'Reilly logo

Learning Python Network Programming by Sam Washington, Dr. M. O. Faruque Sarker

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

A low-level event-driven chat server

So the event-driven architecture has a few great benefits, the catch is that for a low-level implementation, we need to write our code in a completely different style. Let's write an event-driven chat server to illustrate this.

Note that this example will not at all work on Windows as Windows lacks the poll interface which we will be employing here. There is an older interface, called select, which Windows does support, however it is slower and more complicated to work with. The event-driven frameworks that we look at later do automatically switch to select for us though, if we're running on Windows.

There is a higher performance alternative to poll called epoll, available on Linux operating systems, however ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required