Welcome to my blog’s first tutorial series!
In this project we will program a Python chat server using threads to make sure we can receive any number of connections while still being able to handle many clients as well – using a single script as the final product for simplicity.
While searching the web, I was unable to find many tutorials that worked like this, so grab some coffee and get ready to start writing some code ayyy!
Fire up your favorite text editor!
Wait, hold up, not so fast there…
Before getting our hands dirty, let’s take a look at some details about this project, for example, what software we’ll need, what will you learn along the way, how exactly is this program going to operate, and so on.
First of all, you will need Python 2.7 (as of right now, the current version is actually 2.7.17). Go ahead and install it from their official page. Note that older versions should work also, but you will be responsible for minor syntax changes.
Second thing you’ll need, of course, is a solid text editor. I highly recommend Sublime Text for many reasons which I could devote a whole post to (and I just might in the future!). In any case, Notepad++ is a solid choice too.
Alright, that’s all the software we need. On to the project…
What you will learn
The main goal of this project is to teach different components, such as:
- Using timestamps
- User input and output
- Text-based user interface (TUI)
- Handling multiple threads for client/server
- Understanding socket connections in networking
- Keeping track of logs for the system and conversations
- …among others that I’m lazy to think of right this moment 😉