Book Image

Learning Python Network Programming

By : Dr. M. O. Faruque Sarker, Samuel B Washington, Sam Washington
Book Image

Learning Python Network Programming

By: Dr. M. O. Faruque Sarker, Samuel B Washington, Sam Washington

Overview of this book

Table of Contents (17 chapters)
Learning Python Network Programming
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

A chat protocol


The main purpose of our protocol update will be to specify that clients must be able to accept all messages that are sent to them, whenever they are sent.

In theory, one solution for this would be for our client itself to set up a listening socket, so that the server can connect to it whenever it has a new message to deliver. In the real world, this solution will rarely be applicable. Clients are almost always protected by some kind of firewall, which prevents any new inbound connections from connecting to the client. In order for our server to make a connection to a port on our client, we would need to ensure that any intervening firewalls are configured to allow our server to connect. This requirement would make our software much less appealing to most users since there are already chat solutions which don't require this.

If we can't assume that the server can connect to the client, then we need to meet our requirement by only using the client-initiated connection to the...