Delphi. UniGUI. Как удаленно, из своей программы на клиентской машине запустить EXE файл на серверной машине?

Вводные

В предыдущем посте мы уже научились через клиентский браузер запускать EXE приложение на серверной машине.

В данном посте создадим свое клиентское EXE приложение. Будем отправлять POST запрос на серверную машину с командой запустить EXE приложение, например блокнот на серверной машине.

Будем делать это через idHTTPServer сервер, который разместим на серверной стороне. И idHTTP, который разместим на клиентской стороне.

Итак, создадим StandAlone UniGUI приложение и в серверный модуль добавим idHTTPServer и настроим его на 82 порт, с 80 портом получается couldn’t bind sockets. Думаю, если поработать ещё, можно и на 80 порт настроить, но сейчас задача не в этом.

9

 

В серверной части настроим прием и обработку POST параметров следующим образом

Теперь создадим произвольный EXE клиент, добавим idHTTP

10

 

Кнопку Test обработаем следующим образом

Что вообще происходит?

На 127.0.0.1 или localhost на 82 порт отправляем POST сообщение. А кто принимает? Да наш idHTTPServer, в результате происходит обработка сообщения в событии idHTTPServerComandGet и запускается наш блокнот.

Попробуем по взрослому?

Загрузим серверную часть на сервер в сети. У меня Azure. При этом надо будет поменять при отправке localhost на адрес нашего сервера в сети. На Azure также надо открыть порты, так называемые endpoints, в нашем случае, 82 порт.

11

 

По моему, мы добились чего хотели – таким образом, можно из своего клиентского EXE приложения, написанного на DELPHI запускать любые приложения на удаленной машине.

Выводы

В данном случае я прикрутил idHTTPServer к UniGUI серверу, но это необязательно. Можно на серверную машину поместить обычный EXE, написанный на Delphi, поместить в него idHTTP сервер, и это будет работать точно также.

Словом, я в этом вопросе чуток разобрался, тут конечно, много чего ещё предстоит освоить, но начало положено. Моя задача была – научиться удаленно запускать EXE файлы из клиента на DELPHI на удаленной машине.

This entry was posted in Delphi, UniGui. Bookmark the permalink.