Chapter 7. Programming with Sockets
After you have interacted with various clients/servers in Python, you will be keen to create your own custom clients and servers for any protocol of your choice. Python provides a good coverage on the low-level networking interface. It all starts with BSD socket interface. As you can assume, Python has a socket module that gives you the necessary functionality to work with the socket Interface. If you have ever done socket programming in any other language like C/C++, you will love the Python socket module.
In this chapter, we will explore the socket module by creating a diverse range of Python scripts.
The following are the highlights of this chapter:
- Basics of sockets
 - Working with TCP sockets
 - Working with UDP sockets
 - TCP port forwarding
 - Non-blocking socket I/O
 - Securing sockets with SSL/TLS
 - Creating custom SSL client/server