Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Запуск программ на удалённой машине


Автор: vit 12.10.2002, 00:25
Народ! Помогите , пожалуйста!
Надо подключится к UNIX-серверу и запустить там прогу. Пароли и доступы имеются, права тоже. Можно по TELNET'у , но это приходится много писать руками. А имя программы всегда одинаковое и хотелось бы , чтобы запускалась она без лишних вопросов и нажатий.

Автор: - RAdmin - 12.10.2002, 23:50
Думаю тебе надо поискать программу удалённого администрирования

Автор: Baa 13.10.2002, 01:33
Кто мешает использовать протокол телнета в своей проге? макрос выходит :)

Автор: Song 13.10.2002, 06:06
Client-Server - самое доступное. Остальное - недокументированные возомжности Windows с правами админа разумеется.

Автор: fuckerok 30.3.2004, 01:54
Напишите как обрабатывает IdMappedTelnet команды посылаемые из самого Telnet'а
А то что то у мя не клеиться нефига
Хотелось бы увидеть примерно следующие как IdMappedTelnet
ожидает команду посылаемую из Telneta??? Ну и дапустим чтоб при принятии команды эта бадяга что вы набили в Telnete
выводилась например в showmessage
Ах да и ещё как вырубить это эхо??

Задание для интиликтуалов withstupid.gif

Автор: Maverick 30.3.2004, 11:15
Я для управления UNIX сервера использую компонент вкладки IndyClients IdTelnet.... больше ничего не надо... Настройки там понятные - хост, порт и тд и тп.... очень легко потом настройки в своей проге организовывать....

А потом просто

TelNet : TidTelnet;

TelNet.Connect;

if TelNet.Connected then
TelNet.Write('kill all');

login := 'myuser';
TelNet.Write(login+#13);

ну и так далее...

Есть у него событие OnDataAvailable - отрабатывает когда сервер готов принять данные.... Я в него закидываю согласие на следующий шаг, т.е. есть глобальная переменная, которая true - если сервер готов и false - если не готов....

Таким образом....

TelNet.Connect;
login := 'myuser';
while not ServerReady do
If ServerReady then TelNet.Write(login+#13) else Application.Messages;
//заслали логин
password := 'tutututu';
while not ServerReady do
If ServerReady then TelNet.Write(password+#13) else Application.Messages;
//заслали пароль

н дальше понятно надеюсь.... засылай команды... Можно вместо переменной использовать событие компонента OnStatus, но это дело вкуса... Можно засылать посимвольно, по-моему метод SendKey...

Ответы он тоже возвращает в том же событии в Buffer... можно анализ проводить... Обычно же знаешь, что ожидаешь... Если Buffer этот самый выводить куда-нить в Мемо - вообще интерактив получается...
Я тут как-то даже свой маленький терминал на скорую руку сваял... но он куда-то затерялся...

В-общем рой этот компонент - он все это делает.... Извини, что так дергано отвечаю, я убегаю... если нужно более подробно... то потом...

Автор: December 30.3.2004, 19:17
Я пытался это сделаит батником, но что-то у меня перенаправление ввода не запахало... А потом забросил.sad.gif

Автор: fuckerok 31.3.2004, 02:17
Нет млин я хотел бы увидеть немного другое:
Само написания программы сервера Telnet а не клиента.....
И оброботку той команды которую я сам набил в Telnet'е чтобы она хотябы выводилась в showmessage вот что я хотел бы увидеть.... withstupid.gif withstupid.gif withstupid.gif

Автор: Akella 31.3.2004, 08:21
Я не знаю как в Unix, а в Windows на удаленном компе мне прихожиться оставлять запущеной программу, которая сидит в трее и при получении определенного сообщения от другой такой же программы выполняет те или иные действия.

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

Автор: Maverick 31.3.2004, 09:28
Цитата
Само написания программы сервера Telnet а не клиента.....


Может я задачу не понял? Сервер? На удаленной машине под Unix? Он там будет работать? Тогда в Дельфи это никак... Скорее Kylix...
Зачем вообще сервер? Тебе надо просто там прогу запустить и все....

Тот компонент, который я описал, тебе позволит соединиться и заслать команду, запускающую прогу... Потом в событии OnDataAvailable, происходящем после обработки сервером засланой команды, лови Buffer и выводи его в ShowMessage(Buffer)... Там будут результаты работы сервера.... То же что ты на экране обычно видишь - текст... Даже приглашение вернется $.... Можно проанализировать сразу... Если пришел ответ такой - значит сработало, другой - значит ошибка... Ты же после эксперимента ручками знаешь, что он должен вернуть, ну вот и сравнивай...

Автор: fuckerok 2.4.2004, 04:44
Лано посмотрю сегодня withstupid.gif

Автор: Maverick 2.4.2004, 09:14
Ты вот этим withstupid.gif прекрати заниматься.... Попробуй - не получиться, доспрашивай.... Поможем...

Будешь пробовать - свойство UseNagle компонента присвой в false.... Наш Unix эту вещь не пропускал.... Я на этом в самом начале чуть не заглох...

Автор: fuckerok 4.4.2004, 04:59
Конечно по сравнению с вами я withstupid.gif я ведь не какой нить админ... хы я ещё в школе учусь tounge.gif я даж себе не представляю как Линуха выглядит.... thumbs-up.gif
Наверно это мясо раз админы ей пользуються biggrin.gif

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