#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. Спасибо кецалькоатлю. Приятно знать, что я правильно понял концепцию.