Как создать чат-канал, как в WarCraft III?
ЕслиС++ \ WinAPI
Глейзер Дж., Мадхав С. - Многопользовательские игры. 
Разработка сетевых приложений.  - 2017Глава 2 - Интернет
Глава 3 - Сокеты Беркли
остальное по желанию.
Плюсы: 
Объяснение на пальцах без лишней мути.
Нет устаревших функций. С++, ООП (обертки из классов).
В третей главе есть упражнения как раз по Вашей теме.spoiler
Вопросы для повторения
1. Назовите некоторые отличия POSIX-совместимых библиотек сокетов от ре-
ализации в Windows.
2. Какие два уровня TCP/IP отвечают за адресацию сокетов?
3. Объясните, как и почему сервер TCP создает уникальный сокет для соединения
с каждым клиентом.
4. Объясните, как связать сокет с портом и что это означает.
5. Добавьте поддержку адресов IPv6 в SocketAddress и SocketAddressFactory .
6. Добавьте возможность создания сокетов TCP в SocketUtils .7. Реализуйте чат-сервер, использующий протокол TCP для соединения с един-
ственным узлом и передачи сообщений в обе стороны.8. Добавьте поддержку нескольких клиентов в чат-сервер. Используйте неблоки-
рующие сокеты на стороне клиента и select на стороне сервера.
9. Объясните, как изменить максимальный размер окна приема TCP.
ссылки на актуальную литературу и исходники на гитхабе в самой книге
по исходникам, что бы не искать - то что нужно Вам лежит здесь https://github.com/MultiplayerBook/MultiplayerBook...
Сокеты.
Есть книжка Йона Снейдера. Называется "Эффективное программирование TCP/IP". Там многие аспекты описаны. Но это при условии, что вы хорошо владеете C++. Так как примеры там, если мне не изменяет память на С.
Врятли это станет преградой. Вам главное понять, что и как.