| 
| 
 | Вопрос # 1 886/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!Каким образом можно из Delphi запустить на удаленном http-сервере приложение?
 
|  |   Вопрос задала: Ташка (статус: Посетитель)Вопрос отправлен: 9 сентября 2008, 13:11
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, Ташка!Для начала надо узнать, какой строкой запроса его запускают. Если эту строку пишете в броузере, то это есть обычный GET запрос. Выполнить такой запрос просто - достаточно поставить на форму компонент idHTTP и написать в обработчике кнопки idhttp1.GET('http://mysyte.ua') или что то в этом стиле.
 Возможно конечно, что запускается POST запросом. idhttp умеет и его выполнять.
 Вместо Indy можно использовать и synapse - библиотека с реализицией многих функций для интернета, в том числе и http запросов.
 По Indy и Synapse в разделе статьи на этом сайте есть несколько статей, можно почитать, разобраться.
 Можно конечно и на чистых сокетах написать, всё дело вкуса и религиозных предпочтений.
 
 Но неплохо было бы написать, что именно вы запускаете, а то получается сферический конь в вакууме:)
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 9 сентября 2008, 13:32
 
 |  
 Мини-форум вопросаВсего сообщений: 10; последнее сообщение — 9 сентября 2008, 16:40; участников в обсуждении: 3. 
|   | Ташка (статус: Посетитель), 9 сентября 2008, 13:40 [#1]:похоже в самом деле очень непонятно написала. Суть в чем - есть программа-клиент и программа/сервер, но вся загвоздка в том, что сервер невозмжно постоянно включенным держать, и необходимо из клиента как-то удаленно этот самый сервер запускать, а уже потом пошел бы весь обмен информации.
 Если важно, то клиент/сервер действует через TidTCPClient и TidTCPServer
 |  
|   | Вадим К (статус: Академик), 9 сентября 2008, 14:00 [#2]:мда, закрутили вопрос.  Вот так и надо формулировать. Для того, что бы это сделать, прийдется брать ещё один idTCPServer или что то в этом виде  и он будует ждать подключения. По подключению  - запускать приложение. Но Вы пишете, что нет возможности постоянно держать сервер включенным.
 Но можно решить обходним манёвром, если использовать фаервол. Многие с них имеют такую функцию - в случае прихода пакета на закрытый порт, запускать приложение.
 Хотя сервер на то он и сервер, что бы быть постоянно запущенным и готовым к работе.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Ташка (статус: Посетитель), 9 сентября 2008, 14:02 [#3]:понятно.......значит будем думать как решать проблему с постоянно запущенным сервером спасибо за помощь
 |  
|   | Вадим К (статус: Академик), 9 сентября 2008, 14:07 [#4]:А почему он не может быть запущенным постоянно? Что мешает? Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Ташка (статус: Посетитель), 9 сентября 2008, 14:08 [#5]:фирма для которой делается проект против этого и разубедить их никак не получается |  
|   | Вадим К (статус: Академик), 9 сентября 2008, 14:17 [#6]:Во первых, надо обяснить, что если сервер не запущен - нет работы. А во вторых, сервер можно сделать службой...
 Программа сервер случайно не с формочкой и не запущена ли на компьютере бухгалтера?
   Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Ташка (статус: Посетитель), 9 сентября 2008, 14:20 [#7]:точна не на компьютере бухгалтера и в принципе без формы ) |  
|   | Вадим К (статус: Академик), 9 сентября 2008, 14:23 [#8]:Ну тогда пусть там себе крутиться. Чем мешает. Сложно понять заказчика порой, сервер запущен не должен быть, а вот работу выполнять должен.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Ташка (статус: Посетитель), 9 сентября 2008, 14:25 [#9]:это точна! так что буду настаивать на своем |  
|   | Amidamaru (статус: 4-ый класс), 9 сентября 2008, 16:40 [#10]:"на удалённом http-сервере", т.е. у них есть постоянно работающий http-сервер? Можно написать в делфи cgi-приложение которое будет запускать нужную программу. Поищите тут были вопросы по поводу "как написать CGI-приложение на Delphi". 
 Я не уверен, но помоему простой запуск приложения возможен и через пхп (если на сервере установлены соответствующие разрешения)
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |