adsl club

Справочник

Форум

Программы

Фильмы

Ресурсы

Файлообмен

Хостинг

Ростелеком
запуск приложения на сетевой машине
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)ПРОГРАММИРОВАНИЕ
Автор Сообщение
Shpr0te
Гуру
СообщениеДобавлено: Чт 3-02-11 : 23-20    Заголовок сообщения: запуск приложения на сетевой машине Ответить с цитатой

знаю, что тут водятся кодеры, так что вопрос:
нужно сделать так, чтобы по нажатию кнопки на одном компе запускалось приложение на другом. Как это лучше реализовать.
Компьютеры в локальной сети, в одной раб.группе и т.д.

П.С. пишу НЕ вирус...
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
demarco
Продвинутый форумчанин
СообщениеДобавлено: Чт 3-02-11 : 23-35    Заголовок сообщения: Ответить с цитатой

radmin, teamviewer, и в конце концов удаленный помощник
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Shpr0te
Гуру
СообщениеДобавлено: Чт 3-02-11 : 23-41    Заголовок сообщения: Ответить с цитатой

demarco
а не скажете, на каком принципе они работают? (об их существовании знаю, но нужно свое)
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
Францыч
Эксперт
СообщениеДобавлено: Пт 4-02-11 : 00-06    Заголовок сообщения: Ответить с цитатой

Принцип прост - перехват управления. А дальше уже просто...
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение Отправить e-mail  
AlexRock
Гуру
СообщениеДобавлено: Пт 4-02-11 : 10-36    Заголовок сообщения: Ответить с цитатой

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

В .NET это можно реализовать на службах WCF и любом клиенте (Console, Forms, WPF), например.
demarco писал(а):
radmin, teamviewer, и в конце концов удаленный помощник

По-моему, это примерно то же, что и я написал, только службы за тебя другой дядя пишет.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
vin32
Гуру
СообщениеДобавлено: Пт 4-02-11 : 22-43    Заголовок сообщения: Ответить с цитатой

А так то интересно, у меня есть нетбук, могу ли я им, лежа на диване, управлять компом? Smile
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Shining ninja
Гуру
СообщениеДобавлено: Вс 6-02-11 : 01-15    Заголовок сообщения: Ответить с цитатой

vin32 писал(а):
А так то интересно, у меня есть нетбук, могу ли я им, лежа на диване, управлять компом?

Да, спокойно.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение Отправить e-mail   Номер ICQ
vin32
Гуру
СообщениеДобавлено: Вс 6-02-11 : 10-51    Заголовок сообщения: Ответить с цитатой

Shining ninja
А как? На компе вин7 на нетбуке винХР хом
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
AlexRock
Гуру
СообщениеДобавлено: Вс 6-02-11 : 13-12    Заголовок сообщения: Ответить с цитатой

http://www.google.com/search?ie=UTF-8&hl=ru&q=%D0%BA%D0%B0%D0%BA%20%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%82%D1%8C%20%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BE%D0%BC%20%D1%87%D0%B5%D1%80%D0%B5%D0%B7%20%D0%BD%D0%BE%D1%83%D1%82%D0%B1%D1%83%D0%BA
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Shining ninja
Гуру
СообщениеДобавлено: Вс 6-02-11 : 16-22    Заголовок сообщения: Ответить с цитатой

vin32
По ссылочки и там выбери для себя оптимальный вариант.
Я делал через Radmin. Все просто.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение Отправить e-mail   Номер ICQ
Shpr0te
Гуру
СообщениеДобавлено: Вт 8-02-11 : 09-01    Заголовок сообщения: Ответить с цитатой

С запуском вроде разобрался. Теперь другая проблема: нужно к одному серверу подключить несколько клиентов. Пишу это дело на winsock, ожидание подключения - функция accept, но она ждет подключения до бесконечности, а мне нужно, чтоб ждала только секунд 30, как это можно сделать?
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
AlexRock
Гуру
СообщениеДобавлено: Вт 8-02-11 : 09-35    Заголовок сообщения: Ответить с цитатой

Shpr0te писал(а):
С запуском вроде разобрался.

Как сделал?
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Shpr0te
Гуру
СообщениеДобавлено: Вт 8-02-11 : 09-55    Заголовок сообщения: Ответить с цитатой

WinExec("c:\\WINDOWS\\system32\\calc.exe",SW_SHOW)
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
AlexRock
Гуру
СообщениеДобавлено: Вт 8-02-11 : 10-08    Заголовок сообщения: Ответить с цитатой

Это-то понятно. Я имел ввиду, как ты это сделал на другом компьютере?
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Shpr0te
Гуру
СообщениеДобавлено: Вт 8-02-11 : 10-11    Заголовок сообщения: Ответить с цитатой

сейчас код уже потерял, но суть в том, что один другому шлет путь вида Ц:\виндовс\систем32\калк.ехе, клиент преобразовывает его в
Ц:\\виндовс\\систем32\\калк.ехе и пихает в эту функцию
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
Shpr0te
Гуру
СообщениеДобавлено: Вт 8-02-11 : 13-11    Заголовок сообщения: Ответить с цитатой

кстати, будет ли работать WinExec под Win7 и Win Vista?
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
AlexRock
Гуру
СообщениеДобавлено: Вт 8-02-11 : 14-03    Заголовок сообщения: Ответить с цитатой

Shpr0te писал(а):
кстати, будет ли работать WinExec под Win7 и Win Vista?

Я думаю, что будет: http://msdn.microsoft.com/en-us/library/ms687393.aspx . Это ж одна из старинных библиотек.
Shpr0te писал(а):
сейчас код уже потерял, но суть в том, что один другому шлет путь вида Ц:\виндовс\систем32\калк.ехе, клиент преобразовывает его в

Ц:\\виндовс\\систем32\\калк.ехе и пихает в эту функцию

Ладно, спрошу совсем конкретно: как взаимодействуют клиент и сервер, на чём они написаны (не столько язык, сколько технология)? Например, сервер на WCF-службе, а клиент - Windows Forms.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Shpr0te
Гуру
СообщениеДобавлено: Вт 8-02-11 : 14-30    Заголовок сообщения: Ответить с цитатой

AlexRock писал(а):
Ладно, спрошу совсем конкретно: как взаимодействуют клиент и сервер, на чём они написаны (не столько язык, сколько технология)? Например, сервер на WCF-службе, а клиент - Windows Forms.


Эм. Язык - С++, библиотека WinSock, т.е.:
WSADATA wsaData;
if (WSAStartup(0x202,&wsaData)) {cout<<"Failured start"<<endl;}
else {cout<<"Start ok"<<endl;}

SOCKET s;
s = socket(AF_INET,SOCK_STREAM,0);
if( s==INVALID_SOCKET) cout << "Socket error"<<endl;
else cout << "Create socket OK"<<endl;
sockaddr_in serv_addr;
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(PORT);
serv_addr.sin_addr.s_addr=0;

ну и так далее.
Вероятно я не понял вопроса... Sad

Да, все консольное пока что, Windows Forms не юзал, WCF и прочие упростители жизни -- тоже нет...
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
Meverik
Начинающий
СообщениеДобавлено: Чт 31-03-11 : 09-38    Заголовок сообщения: Ответить с цитатой

Shpr0te писал(а):
Теперь другая проблема: нужно к одному серверу подключить несколько клиентов. Пишу это дело на winsock, ожидание подключения - функция accept, но она ждет подключения до бесконечности, а мне нужно, чтоб ждала только секунд 30, как это можно сделать?


Тут тебе помогут потоки (Thread, в Delphi класс TThread). Ты должен написать поток, который будет обрабатывать клиентские запросы. Этому потоку ты должен передавать клиентское подключение. И написать основной поток, который в основном цикле будет ждать подключение от клиента, при подключении формировать клиентский поток и запускать его на исполнение, после чего ждать следующего клиентского соединения. В основной программе формировать основной поток, запустить его и перейти в ожидание действия от пользователя (нажатие клавиши, ввод какой-либо команды и т.п.)

В итоге у тебя будет стандартное серверное приложение ))
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
AlexRock
Гуру
СообщениеДобавлено: Чт 31-03-11 : 11-16    Заголовок сообщения: Ответить с цитатой

А почему бы не выполнять все действия пользователя в одном потоке? Почему для каждого клиента свой поток запускать? Если объём обрабатываемой информации мал, то нельзя ли всех клиентов в одном потоке обслуживать?
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Показать сообщения:   
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)ПРОГРАММИРОВАНИЕ Часовой пояс: GMT + 7
Страница 1 из 1

 

 
Аватары: Вкл|Выкл   ЮзерИнфо: Вкл|Выкл   Подписи: Вкл|Выкл
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы