[C#, C++] Высокоскоростной двусторонний обмен сообщений между приложениями

MQL5 Integration C++ C#

Job finished

Execution time 7 days

Specification

Внимательно прочитайте задание, так как в первую очередь буду общаться с теми, кто заявку оставит "по теме", а не с описанием вашего резюме!

В общих чертах:
Есть desctop-приложение, которое должно открывать точку доступа (условно именной канал) для прослушки входящих сообщений (запросов) и отвечать на них (локально на 1 ПК). Назовем его "сервер". 
И есть эксперт, который должен подключаться к данному "серверу" для двустороннего обмена сообщениями. Назовем его "клиент". 

Принцип их функционирования таков: Клиент посылает некий запрос, вместе с запросом может отправляться множество данных (возможно в виде стоки),.. сервер принимает сообщение, и отправляет некий ответ, и снова ожидает от запроса от клиента.

Для примера достаточно что-то вроде:
- клиент: "у меня есть 2 яблока"
- сервер: "а у меня есть груша, давай обменяем одно яблоко на грушу"
- клиент: "давай"

Общая схема

Понятное дело, что "клиент" и "сервер" будут обмениваться некими командами, а вместо яблока и груши – будут некие данные (int, float, double, string, bool), причем не в единичном экземпляре, а в множественном,..

Важно! 
- Двусторонний обмен сообщениями.
- Канал на сервере работает в отдельном потоке, но должен отправлять данные в основной, обрабатывать их там, и перенаправлять ответ снова в выделенных поток для отправки его (ответа) клиенту.
- Клиент и сервер базируются на локальном ПК (т.е. по сути одна память).
- Точно не нужно делать этого через обмен физическими файлами, угробим жесткий диск.
- Важна скорость передачи данных между клиентом и сервером (не менее 2 тыс. запросов/сек).
- К клиенту подключается только библиотека (либо стандартная виндовская (например kernel32.dll), либо написанная на C++). 
- В заявке обязательно напишите ключевое слово "DLL_CLIENT_SERVER", так я пойму, что вы реально читали задание, и первым делом напишу вам.
- Работать будем совместно, с вашей стороны нужна консультация, и написание незначительного, самого сложного куска кода. Я хочу полностью понимать то, как весь процесс работает.
- По факту мы создадим тестовый проект на десткоп (минимальный), на форме будет пара кнопок "открыть" и "закрыть соединение", и область журнала, куда будут записываться запросы-ответы. Клиент тоже будет тестовый, с вашей помощью мы напишем простой обработчик подключения, отправки запроса и получения ответа. 
- По факту здесь работы совсем не много, и если вы разбираетесь в теме, думаю мы сделаем это за 1, максимум 2 дня хорошей работы.
- Все подробности напишу уже в личку, если увижу, что вы не автоматом прислали сообщение, а прочитали ТЗ.


Варианты исполнения:
– pipe + kernel32.dll
– grpc / protobuf
– ваши варианты...


Статьи безусловно на эту тему есть, читал, но не все работает "как надо".

Responded

1
Developer 1
Rating
(30)
Projects
45
16%
Arbitration
2
0% / 100%
Overdue
4
9%
Free
2
Developer 2
Rating
(24)
Projects
34
15%
Arbitration
2
0% / 50%
Overdue
8
24%
Free
3
Developer 3
Rating
(50)
Projects
94
29%
Arbitration
4
25% / 0%
Overdue
4
4%
Working
Published: 3 codes
4
Developer 4
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
5
Developer 5
Rating
(20)
Projects
19
11%
Arbitration
22
5% / 82%
Overdue
3
16%
Free
Published: 7 codes
6
Developer 6
Rating
(19)
Projects
24
4%
Arbitration
0
Overdue
1
4%
Free
Similar orders
Project Overview: We are seeking a highly skilled MQL5 developer to create a core, standalone Money Management (MM) module. This is *not* a request for a full trading strategy, but a fundamental safety component that must be mathematically precise and error-free. The primary objective is to implement a robust FIXED MAX LOSS PER TRADE function, which is the cornerstone of our capital preservation strategy. Phase 1
Добавить на график вкладку (окно) с параметрами в которой будут рабочие инструменты: 1) Пароль на бота (чутка переделать его, через онлайн-лицензирование, через WebRequest (серверная проверка), чтоб был удалённый контроль) 2) Включен или выключен данный бот (в работе или нет к данному графику) 3) input int DailyTradeLimitAllInstruments = 5; // Сколько раз в день можно входить в сделки по всем инструментам

Project information

Budget
100+ USD
For the developer
90 USD
Deadline
from 1 to 2 day(s)