Jan Graba (2013) An Introduction to Network Programming with Java. Springer International Publishing.