The goal of this project is to introduce you to the basics of network programming and how to use it in your GUI application.
Python has great support for network programming. At the lowest level, Python provides a socket module that lets you connect and interact with the network using a simple-to-use, object-oriented interface.
For those new to socket programming, sockets are the fundamental concept behind any kind of network communication done by your computer. For instance, when you type www.packtpub.com in your browser, the operating system on your computer opens a socket and connects to the remote server to fetch the web page for you. The same happens with any application that needs to connect to the network.
More specifically, sockets refer to a communications endpoint that is characterized by a five-element tuple that contains the following information...