Фрилансеры предложат решение вашей задачи уже через несколько минут!
Публикация заказа не займет много времени.
Гость
4 месяца в сервисе
Был онлайн 4 месяца назад

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

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