Для взаимодействия программ по сети, по мнению автора, необходимо понимать основы протоколов IP, TCP и UDP. В бОльшей степени - TCP. Именно на его основе строится взаимодействие внутри Всемирной сети. Так что смотрите внимательно.
Напоминаю:
исходные коды проекта находятся на GitHub. Подробности в "Выпуск 16. Где взять тексты программы ?"
для тех, кто уже смотрел, прямые ссылки:
https://github.com/java-webinars/java... и https://github.com/java-webinars/ext-...
более простой проект вы можете посмотреть по ссылке http://java-course.ru/begin/