@Mr-Governor
Губернирую

Как создать чат-канал, как в WarCraft III?

Хочу сделать программу. На С++ \ WinAPI.
Программа - просто чат, нужно сделать без использования БД при переписке.
То есть просто канал, когда заходит пользователь, он ловит все сообщения отправленные на этот канал без подключения к БД, при этом, если пользователь перезагрузит программу, старый чат загружать не нужно, а только ловить следующие сообщения. Аналогично как реализовано в игре WarCraft III.

Не имею опыта в работе с сетью, подскажите пожалуйста, как называется эта технология?
В какую сторону копать, что читать?
  • Вопрос задан
  • 378 просмотров
Решения вопроса 3
myjcom
@myjcom Куратор тега C++
Если
С++ \ 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...
Ответ написан
Комментировать
Morpheus_God
@Morpheus_God
Сокеты.
Есть книжка Йона Снейдера. Называется "Эффективное программирование TCP/IP". Там многие аспекты описаны. Но это при условии, что вы хорошо владеете C++. Так как примеры там, если мне не изменяет память на С.
Врятли это станет преградой. Вам главное понять, что и как.
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Чат в варкрафте, а также в старкрафте, диабло, и прочих близзардовских игрушках основан на IRC.

Реализаций клиентов и библиотек довольно много, среди них есть и опенсорцные. Можно использовать или брать за образец.

Если нужна совместимость именно с war3, то смотрите соответствующую версию pvpgn, например.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
NeiroNx
@NeiroNx
Программист
Интересен бессерверный чат - на мультикастах. Был когда то VyPress Chat популярен в локальных сетях провайдеров до повально использования VLAN изоляции.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы