Bringing the app online
This is the interesting part! We are going to establish the connection with the server, send and receive messages, and display meaningful output to users.
But first, let's take a look at the minimal, pure-Python implementation of the chat client, to see what's going on. This is low-level code using a socket to communicate. In practice, using a higher-level abstraction, like Twisted, is almost always advised; but if you're not familiar with the underlying concepts, it may be hard to grasp what happens in your code behind the scenes, which turns debugging into guesswork.
Building a simple Python client
In the following listing, we're reading user input from the console using the built-in readline()
function and displaying the output with print()
. This means that using this simple client is not vastly different from using Telnet—the UI consists of the exact same plain text in a terminal window—but this time we implement it ourselves from...