Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Удаленный запуск приложения


Автор: Luckylad 22.12.2006, 04:19
Доброго времени,

Необходимо написать клиент-серверное приложение для распределенного вычисления интеграла.
На клиентах происходит расчет частей интеграла, затем отпрвка результатов расчетов серверу, который их обрабатывает и выдает конечный результат. Сама программа почти написана, то есть есть модуль расчета, клиент-серверное взаимодействие, реализованное спомощью sockets, то есть пересылка данных туда-сюда тоже работает. 

У нас имеется сеть. Как все задумано:
1) на любой машине мы устанавливаем нашу серверную часть приложения
2) установленный сервер определяет доступные машины в сети
3) пересылает на них клиентскую часть приложения в виде exe-файла
4) сервер запускает на всех доступных машинах сети этот exe-файл клиентской части
5) при запуске клиент конектится к серверу и передает ему характеристики своей машины (тактувую частоту проца, объем ОЗУ и т.п.)

В чем собственно проблема?

a) как определить доступные машины в сети?
b) как переслать на них exe-файл клиентской части?
c) как запустить exe-файл клиентсвкой части?
d) как получить параметры машины(характеристики)?

Все это надо написать, чтобы работало под VS .NET 2003

Может как-то можно через те же сокеты пункты (a), (b) и © решить или через Remoting, но как?
Если кто занет как мне помочь, пожалуйста помогите. Исходники, код, статьи или совет - всему буду рад.
Единственная просьба - поподробнее, пожалуйста  smile

Автор: mr.DUDA 22.12.2006, 16:39
Цитата(Luckylad @  22.12.2006,  03:19 Найти цитируемый пост)
a) как определить доступные машины в сети?
b) как переслать на них exe-файл клиентской части?
c) как запустить exe-файл клиентсвкой части?

Похоже на троян. Чтобы что-то выполнить на клиентских машинах, клиентская машина должна сама запустить exe. Если вы администратор сети с доменом, то можно залогиниться на каждую машину удалённо и запустить экзешник вручную или прописать его в startup.

Автор: Luckylad 24.12.2006, 02:25
Может и похоже на троян... не знаю - никогда их не писал.
Это для ргр по сетям надо.

Цитата(mr.DUDA @ 22.12.2006,  16:39)
Чтобы что-то выполнить на клиентских машинах, клиентская машина должна сама запустить exe. Если вы администратор сети с доменом, то можно залогиниться на каждую машину удалённо и запустить экзешник вручную или прописать его в startup.


А по другому никак нельзя?

Автор: Stepan_Lameroff 24.12.2006, 10:52
Юзаем www.codeproject.com  smile 
Цитата

a) как определить доступные машины в сети?

http://www.codeproject.com/csharp/csenumnetworkresources.asp
Цитата

b) как переслать на них exe-файл клиентской части?
c) как запустить exe-файл клиентсвкой части?

На мой взгляд, более интересен вариант:
http://www.codeproject.com/csharp/Run_Code_Remotely.asp
Цитата

d) как получить параметры машины(характеристики)?

Посмотрите в сторону WMI.
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=842&lngWId=10
С Уважением, Степан.

Автор: Luckylad 5.1.2007, 16:13
Всем спасибо за помощь smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)