Foundations of Python Network Programming- Brandon Rhodes