Отправка команд Pelco D на порт TCP /IP с помощью обработчиков событий
Я пытаюсь написать приложение Windows Form, которое предоставит интерфейс PTZ для различных аналоговых систем видеонаблюдения, использующих протокол Pelco D.
Мне удалось успешно подключиться и отправить последовательные данные (используя байтовые массивы, содержащие значения Hex) на последовательный сервер, который обменивается данными с использованием соединения через порт TCP/IP. Это соединение передает данные в последовательную цепочку CDU Pelco (Matrix Code Distribution Units).
Вот моя текущая дилемма: мне нужно обеспечить следующее:
Приложение должно поддерживать активное соединение с портом последовательного сервера только при необходимости передачи данных. Это позволяет внешним системам подключаться к порту, когда он не используется текущим приложением.
Управление несколькими камерами, прослушивающими один и тот же порт одновременно. В какой-то момент я думаю, что потребуется тип конфигурации сервер-клиент, чтобы соединение с одним портом прослушивало и помещало в очередь любые входящие данные от других потенциальных клиентских соединений. Тем не менее, это долгосрочная цель, которая не соответствует моим текущим потребностям.
Кнопочные элементы управления используются для отправки команд PTZ. Эти кнопки имеют обработчики событий MouseDown и MouseUp, которые должны передавать данные и управлять соединениями портов с максимальной эффективностью.
В качестве подтверждения концепции, отправка не непрерывных команд, таких как пресеты и управление стеклоочистителями, выполняется безупречно, используя следующую методологию:
для события нажатия кнопки выполните следующие действия: • установите соединение с портом TCP/IP. • отправляет соответствующие последовательные команды на основе текущей нажатой кнопки. • закрыть соединение с портом TCP/IP.
Меня в первую очередь интересуют решения с псевдокодом или общие советы, касающиеся передового опыта или справочных материалов, чтобы помочь мне двигаться в правильном направлении.
Заранее спасибо!