Мое приложение работает в Windows и реализовано с использованием C++
/Qt
.Какой из них выбрать? SSH или AMQP?
Приложение вызовет другое приложение, развернутое на сервере Linux, которое, в свою очередь, вызовет некоторые сторонние инструменты. Серверное приложение Linux отправит некоторые обновления статуса на основе работы сторонних инструментов. Обычно стороннее приложение будет работать в течение нескольких часов, и обновления будут отправляться на разных этапах. Сервер Linux также может отправлять некоторые файлы в дополнение к обновлениям состояния, и клиент Windows также отправит некоторые файлы, необходимые для работы сторонних инструментов.
Я планировал реализовать это в libssh2, поскольку передача файлов может быть выполнена, и приложения могут быть выполнены также с использованием libssh2_channel_exec()
. Обновления могут быть отправлены и получены через неблокирующие передачи сокетов. Также переводы должны быть защищены, и они аутентифицируются паролем, поэтому я думал, что SSH
будет соответствовать моим требованиям.
Я также изучил Qpid apache, который реализует AMQP
. Обмен сообщениями кажется более подходящим для моих обновлений статуса, поскольку обновления становятся менее частыми. Но я не очень уверен в защищенном подключении, аутентификации паролей и вызове приложения.
Итак, какой из них выбрать? Или есть ли другой лучший вариант? Я не совсем привык к сетевому программированию, поэтому любые указатели, ссылки по этому поводу приветствуются.