Python TCP and UDP servers and clients