Есть такая проблема
От: Аноним  
Дата: 23.09.04 10:25
Оценка:
На одной рабочей станции, должно работать приложение1 (язык реализации С++). Управление работой приложения должно осуществляться другим приложением2 (язык реализации — C#), расположенным на другом компутере, в другом городе или стране. Связь через интернет. Вопрос: какая физическая реализация должна быть у приложения1, чтобы приложение2 могло полностью инициировать, запустить и остановить работу этого приложения. Должен ли это быть WEB — сервис или еще что??? Добавлю, что работа приложения 1 должна координироваться как локально, так и удаленно. Заранее спасибо
Re: Есть такая проблема
От: Аноним  
Дата: 23.09.04 12:46
Оценка:
Здравствуйте, Аноним, Вы писали:

А>На одной рабочей станции, должно работать приложение1 (язык реализации С++). Управление работой приложения должно осуществляться другим приложением2 (язык реализации — C#), расположенным на другом компутере, в другом городе или стране. Связь через интернет. Вопрос: какая физическая реализация должна быть у приложения1, чтобы приложение2 могло полностью инициировать, запустить и остановить работу этого приложения. Должен ли это быть WEB — сервис или еще что??? Добавлю, что работа приложения 1 должна координироваться как локально, так и удаленно. Заранее спасибо


Конкретнее что понимается под координацией ? Как запустить программу на выполнение с удалённой машины из своей программы честно говоря не знаю...

Что касается выполнения специфичеких команд в програме на С я бы поступил слудцющим образом: пусть это приложение открывает порт на прослушивание через сокеты (то есть функционирует как сервер). Далее твоя программа на С# или на любом другом языке подсоединяется к этому серверу и передаёт ему некоторую строку с коммандой которую надо выполнить — как именно кодировать тип/параметры команды в строке дело ваше . Например в виде XML можно данные передавать, смотрякакого типа управление планируется осуществлять.
Re[2]: Есть такая проблема
От: Аноним  
Дата: 23.09.04 13:04
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>На одной рабочей станции, должно работать приложение1 (язык реализации С++). Управление работой приложения должно осуществляться другим приложением2 (язык реализации — C#), расположенным на другом компутере, в другом городе или стране. Связь через интернет. Вопрос: какая физическая реализация должна быть у приложения1, чтобы приложение2 могло полностью инициировать, запустить и остановить работу этого приложения. Должен ли это быть WEB — сервис или еще что??? Добавлю, что работа приложения 1 должна координироваться как локально, так и удаленно. Заранее спасибо


А>Конкретнее что понимается под координацией ? Как запустить программу на выполнение с удалённой машины из своей программы честно говоря не знаю...


А>Что касается выполнения специфичеких команд в програме на С я бы поступил слудцющим образом: пусть это приложение открывает порт на прослушивание через сокеты (то есть функционирует как сервер). Далее твоя программа на С# или на любом другом языке подсоединяется к этому серверу и передаёт ему некоторую строку с коммандой которую надо выполнить — как именно кодировать тип/параметры команды в строке дело ваше . Например в виде XML можно данные передавать, смотрякакого типа управление планируется осуществлять.


Под координацией имелось в виду координирование — управление работой. C форматом управляющих команд вроде определился и на серверной и на клиентской стороне будет работать парсер, который вызовет какие нужно функции. Вся беда в том, как бы запустить удаленно прогу на выполнение. Вот это проблема
Re[3]: Есть такая проблема
От: Аноним  
Дата: 23.09.04 13:25
Оценка: 12 (1) +1
Здравствуйте, Аноним, Вы писали:


А>Под координацией имелось в виду координирование — управление работой. C форматом управляющих команд вроде определился и на серверной и на клиентской стороне будет работать парсер, который вызовет какие нужно функции. Вся беда в том, как бы запустить удаленно прогу на выполнение. Вот это проблема


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

Можно разобраться как вообще сетевая истсема в той же винде функционирует и на её уровне работать, но мне кажется проще всмего и быстрее примитивный сервер вспомогательный сообразить...
Re[4]: Есть такая проблема
От: Аноним  
Дата: 23.09.04 13:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:



А>>Под координацией имелось в виду координирование — управление работой. C форматом управляющих команд вроде определился и на серверной и на клиентской стороне будет работать парсер, который вызовет какие нужно функции. Вся беда в том, как бы запустить удаленно прогу на выполнение. Вот это проблема


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


А>Можно разобраться как вообще сетевая истсема в той же винде функционирует и на её уровне работать, но мне кажется проще всмего и быстрее примитивный сервер вспомогательный сообразить...


Ну нафига такие сложности, просто я подумываю, что сишная прога будет виндовой службой, а управляющая прога просто цепляется к ней, узнает ее статус и передает нужные команды. Осталось узнать, можно ли службу запускать удаленно.
Re[5]: Есть такая проблема
От: Аноним  
Дата: 23.09.04 14:00
Оценка:
Здравствуйте, Аноним, Вы писали:


А>Ну нафига такие сложности, просто я подумываю, что сишная прога будет виндовой службой, а управляющая прога просто цепляется к ней, узнает ее статус и передает нужные команды. Осталось узнать, можно ли службу запускать удаленно.


Особых сложностей честно говоря я не вижу А вот если разберёшься как сервис удалённо запускать то кинь ответ в форум — интересно
Re[6]: Есть такая проблема
От: wildwind Россия  
Дата: 23.09.04 14:02
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>Осталось узнать, можно ли службу запускать удаленно.


А почему бы службе не запускаться при старте системы, но ресурсов не кушать до первой активации.
Re[5]: Есть такая проблема
От: Sinclair Россия https://github.com/evilguest/
Дата: 24.09.04 03:38
Оценка: 21 (2)
Здравствуйте, <Аноним>, Вы писали:

А>Ну нафига такие сложности, просто я подумываю, что сишная прога будет виндовой службой, а управляющая прога просто цепляется к ней, узнает ее статус и передает нужные команды. Осталось узнать, можно ли службу запускать удаленно.

Конечно можно. Типичный способ удаленного запуска произвольного софта заключается в удаленной регистрации там временного сервиса, старта, взаимодействия с ним, и дерегистрации.
Единственно что — путь от твоей локальной машины до управляемой дожен быть "свободен" для RPC. Ты легко это проверишь, подключившись к ее сервис менеджеру (Control Panel->Administrative Tools->Services; Actions->Connect another computer).
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[7]: Есть такая проблема
От: Аноним  
Дата: 24.09.04 05:54
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, Аноним, Вы писали:


А>>Осталось узнать, можно ли службу запускать удаленно.


W>А почему бы службе не запускаться при старте системы, но ресурсов не кушать до первой активации.


Можно, но если вдруг кто-то захочет приостановить ее работу ( ). Тогда мне все-равно понадобится ее запустить или вдруг внештатная ситуация, и я захочу сделать перезапуск. Вот только где можно прочитать про удаленный запуск службы. На RSDN-е есть статьи, но там только бызовые принципы создания служб
Re[8]: Есть такая проблема
От: wildwind Россия  
Дата: 24.09.04 16:35
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Можно, но если вдруг кто-то захочет приостановить ее работу

А если кто-то захочет выдернуть сетевой кабель или выключить комп? Вообще чую все это пахнет кулхацкерством...

А если не так, то всегда можно договориться.
Re: Есть такая проблема
От: retalik www.airbandits.com/
Дата: 27.09.04 12:19
Оценка:
Здравствуйте, Аноним, Вы писали:

А>На одной рабочей станции, должно работать приложение1 (язык реализации С++). Управление работой приложения должно осуществляться другим приложением2 (язык реализации — C#), расположенным на другом компутере, в другом городе или стране. Связь через интернет. Вопрос: какая физическая реализация должна быть у приложения1, чтобы приложение2 могло полностью инициировать, запустить и остановить работу этого приложения. Должен ли это быть WEB — сервис или еще что??? Добавлю, что работа приложения 1 должна координироваться как локально, так и удаленно. Заранее спасибо


DCOM, COM+.
Успехов,
Виталий.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.