Связь с 2 процессами в Windows, каналы?

Мне бы хотелось узнать ваше мнение о следующей ситуации и моем решении:

Я получил 3 процесса:

  1. Приложение для удаленного сервера
  2. Приложение локального сервера
  3. Приложение для локального клиента

В основном есть список (размером около 100 элементов) структур, которые выглядят примерно так:

struct Dummy {
float f[16];
}

Мой локальный сервер получает обновления от удаленного сервера, я не контролирую удаленный сервер, он отправляет свои обновления примерно 20 раз в секунду ( 20 Hz ).

Затем мой локальный сервер должен обновить мой локальный клиент точно такими же данными.

Локальный сервер & клиент на одной машине.

Я успешно реализовал очень простой клиент-сервер-PoC для местных жителей, использующих каналы. Клиент записывает в канал запросы, а локальный сервер записывает ответы, полученные от удаленного сервера.

Это не оптимизировано: в реальном мире клиенту не нужно отправлять какие-либо запросы, потому что заранее известно, какие именно данные ему нужны.

Я подумал сделать следующее, и мне интересно, будет ли это оптимизировано (мы говорим о 100 x 4 x 16 = 6400 bytes для одного толчка данных, вокруг 20-30 Hz так вокруг 150-200 kb per second:

Локальный сервер создает канал и просто обновляет его, вокруг 20 раз в секунду, вокруг 6400 bytes каждый раз и локальный клиент просто извлекает данные так быстро, как только может.

Интересно, может ли быть лучший способ — этот способ очень прост и легко реализуем, но мне интересно, насколько он эффективен.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]