Структура сервера RTD

#c# #rtd

#c# #rtd

Вопрос:

Я разработал программу на C #, которая подписывается на текущие валютные цены из банка, я использую udpclient для трансляции этих сообщений, а затем создаю библиотеку RTD-сервера, отображающую их в Excel. Правильна ли эта структура или я полностью упустил суть серверов RTD? Есть ли более элегантный способ структурировать этот процесс?

Ответ №1:

Насколько я помню, нет, другого способа нет.

Для Excel требуется плагин RTD (сервер), который будет загружен по имени, когда электронная таблица ссылается на данные rtd. Затем наблюдатели данных будут зарегистрированы / незарегистрированы для каждой ячейки.

С другой стороны, для передачи данных через Интернет вам нужен какой-нибудь XYZ-клиент, будь то TCP, UDP, WS или любой другой протокол, который вам нужен. Он должен прослушивать сообщения или проводить опрос и обнаруживать изменения, а затем кэшировать данные и уведомлять инфраструктуру RTD о том, что данные необходимо обновить в Excel.

Примерно 0,5 или 2,0 раза в секунду Excel будет проверять наличие обновлений и обновлять ячейки и формулы.

Именно так здесь работает инфраструктура RTD, нет ничего лучше..

Единственными другими способами потоковой передачи данных в Excel являются:

  • обмен данными с другим приложением через DDE (я читал, что это проще реализовать, но медленнее в общей производительности)
  • написание набора макросов, которые будут перезаписывать определенные ячейки электронных таблиц (во много раз медленнее и уродливее)

Комментарии:

1. Спасибо кецалькоатлю. Приятно знать, что я правильно понял концепцию.