Создание клиент-клиент чата на c#

Гість6 років у сервісі
Дані замовника будуть вам доступні після подання заявки
11.04.2019

Необходимо разработать программу (консольную или графическую) для обмена текстовыми сообщениями, работающую в локальной сети в одноранговом режиме.

Каждый участник обмена сообщениями (узел) идентифицируется IP-адресом и произвольным именем, которое задается пользователем (через параметр командной строки, конфигурационный файл или любым другим способом). Уникальность имен не требуется.

После запуска каждый узел с помощью UDP (следует использовать широковещательные пакеты) формирует список активных узлов (IP-адреса и имена). Следует учесть сценарий, когда новый узел включается уже после первичной фазы инициализации.

Обмен сообщениями ведется с помощью TCP в логически общем пространстве: каждый узел поддерживает по одному TCP-соединению с каждым другим узлом и отправляет свои сообщения всем узлам в сети. Отключение узла должно корректно обрабатываться другими узлами.

Пользовательский интерфейс программы должен позволять вводить с клавиатуры и отправлять сообщения, а также просматривать историю событий с момента последнего запуска программы.

История должна включать следующие события в хронологическом порядке с отметками времени:

  • входящие сообщения от других узлов (с указанием имени и IP-адреса отправителя);
  • собственные отправленные сообщения;
  • обнаружение нового узла;
  • отключение работающего узла.