Python Socket Messaging Protocol Assignment for Networking.
The goal is to create a client-server model using sockets and to provide a user-interactive shell. The server is essentially built to avoid any bit-loss through the use of PyCRC algorithms for the cyclic-redundancy-checksums. If the server is stopped, data is saved using protocol buffers provided by Google's protobuf module.