В первую очередь интересует программист который уже работал с UDP на C++ так как описание задачи может быть слегка неточным ввиду того что автор задачи сам с UDP ранее несталкивался. Просьба писать точную цену за которую работа будет выполнена, изменение цены в процессе выполнения невозможно, сроки реализации возможны значительные, но фиксированные.
Нужна на выходе программа в виде исходника запускаемого в VS, которая должна выполнять функционал: клиент udp ipv4 сервер udp ipv4 клиент udp ipv6 сервер udp ipv6 Исходник должен компилироваться в 32 и в 64 битный exe. режим работы программы ipv4 или ipv6 либо смешанный - переключается до компиляции кода какой нибудь переменной.
То есть исходник после компиляции это exe файл. Поменяв внутри него исходные настройки перед компиляцией, такие как переменные с ip адресом и портом и текстом сообщения, можно сделать 2 или 3 exe или более немного разных, таких, запустив которые на разных серверах эти консольные exe начнут общаться между собой отправляя друг другу через интервалы времени текст, принимая его, переводя в string и выводя на экране с отображением например получено протокол:ip:порт:текст и так столбиком на экране и в этом же выводе писать Отправлено ip-порт-текст и получаются такие списки данных в окне на разных серверах в 2 или 3х запущенных exe общающихся между собой по udp.
Стандарт языка 14-й или 11-й или 00, код должен компилироваться в VS2015.
Примерное видение такое: Клиентская часть это обращение внутри тела main к некоторой функции передавая в нее строку string и адрес IP, IP типа данных который удобен для функции клиента что бы не конвертировать много раз внутри функции. Сервер при возможности аналогично в виде функции - а уже внутри тела main создавать обращения к одной или многим функциям сервера. Принимать данные от клиента в функцию сервера как string - в качестве внутрипрограммной переменной т.к. в ней будет вывод на экран.
Программа должна продемонстрировать в консоле работу клиент сервера UDP - консольный клиент запускается и шлет серверу приветствие любого вида повторяя отправку через небольшие промежутки времени - через фиксированные паузы например, например запуская для этого функцию отправки сообщения серверу из тела main. Программый код Серверной составляющей запустившись пишет на экран что сервер запустился успешно, получив сообщение от клиента - другого exe файла, отображает на экране его ip и полученное сообщение, шлет клиенту на это приветствие ответ в string, например если клиент прислал текст "EEE" сервер шлет клиенту "OK". Если клиент прислал серверу другой текст не "EEE" сервер шлет клиенту "BAD". И так это демо и работает периодически посылая строки друг другу. Клиент получив сообщение от сервера показывает его Ip и сообщение на экране. Сервер может получать сообщения от разных запущенных клиентских программ в кнсольном режиме, для упрощения предполагается что сервер получив сообщение от клиента сначала дает ему ответ и лишь затем приступает к обработке следующего сообщения от того-же самого или от другого клиента, но это на усмотрение программиста.
Возможны отклоенния от предложенной реализации функциями если иначе непредставляется возможным - не критично. Главное все подробно прокомментировать.
Главное что бы это все было внутри тела main оформлено по максимуму функциями что бы по минимуму нагружать main - их (функции) можно вынести перед main - в отдельный файл ненужно выносить, если применяются нестандартные библиотеки - то перечислить ссылки на сайты откуда были скачаны и приложить в проект и отдельно в архив файлов - для подключения к проекту.