Today's goals: Main goal: Make sense out of TCP and Python A note on string length: We did variable length yesterday, sort of Not how real network protocols work! They all send payload length or some such! Meter bytes in and bytes out Send the right number Getting off makes nonsense This is the sort of thing layers 5 and 6 would have done Multithreading! First, let's make a need for it: Does the client really need to disconnect to send another math problem? Maybe it would be nice to handle multiple clients at once... Steps: 1. Make the client interactive, and the server support a longer session 2. Try to connect two clients 3. Make the server multithreaded Alright, after that: So what if we wanted a server to support a few commands?