Работа завершена
Техническое задание
Внимательно прочитайте задание, так
как в первую очередь буду общаться с теми, кто заявку оставит "по теме", а не с описанием вашего резюме!
В
общих чертах:
Есть
desctop-приложение, которое должно открывать точку доступа (условно именной канал) для прослушки входящих сообщений (запросов) и
отвечать на них (локально на 1 ПК). Назовем его "сервер".
И
есть эксперт, который должен подключаться к данному "серверу" для двустороннего обмена сообщениями. Назовем его "клиент".
Принцип
их функционирования таков: Клиент посылает некий запрос, вместе с запросом может отправляться множество данных (возможно в виде
стоки),.. сервер принимает сообщение, и отправляет некий ответ, и снова ожидает от запроса от клиента.
Для
примера достаточно что-то вроде:
-
клиент: "у меня есть 2 яблока"
-
сервер: "а у меня есть груша, давай обменяем одно яблоко на грушу"
-
клиент: "давай"
Понятное
дело, что "клиент" и "сервер" будут обмениваться некими командами, а вместо яблока и груши – будут некие данные (int, float, double,
string, bool), причем не в единичном экземпляре, а в множественном,..
Важно!
-
Двусторонний обмен сообщениями.
-
Канал на сервере работает в отдельном потоке, но должен отправлять данные в основной, обрабатывать их там, и перенаправлять ответ снова в
выделенных поток для отправки его (ответа) клиенту.
-
Клиент и сервер базируются на локальном ПК (т.е. по сути одна память).
-
Точно не нужно делать этого через обмен физическими файлами, угробим жесткий диск.
-
Важна скорость передачи данных между клиентом и сервером (не менее 2 тыс. запросов/сек).
-
К клиенту подключается только библиотека (либо стандартная виндовская (например kernel32.dll), либо написанная на C++).
-
В заявке обязательно напишите ключевое слово "DLL_CLIENT_SERVER", так я пойму, что вы реально читали задание, и первым делом напишу вам.
-
Работать будем совместно, с вашей стороны нужна консультация, и написание незначительного, самого сложного куска кода. Я хочу полностью
понимать то, как весь процесс работает.
-
По факту мы создадим тестовый проект на десткоп (минимальный), на форме будет пара кнопок "открыть" и "закрыть соединение", и область
журнала, куда будут записываться запросы-ответы. Клиент тоже будет тестовый, с вашей помощью мы напишем простой обработчик
подключения, отправки запроса и получения ответа.
-
По факту здесь работы совсем не много, и если вы разбираетесь в теме, думаю мы сделаем это за 1, максимум 2 дня хорошей работы.
-
Все подробности напишу уже в личку, если увижу, что вы не автоматом прислали сообщение, а прочитали ТЗ.
Варианты
исполнения:
–
pipe + kernel32.dll
–
grpc / protobuf
–
ваши варианты...
Статьи безусловно на эту тему есть, читал, но не все работает "как надо".