| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 Ах да и ещё как вырубить это эхо?? Задание для интиликтуалов |
| Автор: 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 |
| Я пытался это сделаит батником, но что-то у меня перенаправление ввода не запахало... А потом забросил. |
| Автор: fuckerok 31.3.2004, 02:17 |
| Нет млин я хотел бы увидеть немного другое: Само написания программы сервера Telnet а не клиента..... И оброботку той команды которую я сам набил в Telnet'е чтобы она хотябы выводилась в showmessage вот что я хотел бы увидеть.... |
| Автор: Akella 31.3.2004, 08:21 |
| Я не знаю как в Unix, а в Windows на удаленном компе мне прихожиться оставлять запущеной программу, которая сидит в трее и при получении определенного сообщения от другой такой же программы выполняет те или иные действия. А еще есть комплекс программ PSTOOLS - говорят, что они делают такое безвсяких дополнительных приготовлений. |
| Автор: Maverick 31.3.2004, 09:28 | ||
Может я задачу не понял? Сервер? На удаленной машине под Unix? Он там будет работать? Тогда в Дельфи это никак... Скорее Kylix... Зачем вообще сервер? Тебе надо просто там прогу запустить и все.... Тот компонент, который я описал, тебе позволит соединиться и заслать команду, запускающую прогу... Потом в событии OnDataAvailable, происходящем после обработки сервером засланой команды, лови Buffer и выводи его в ShowMessage(Buffer)... Там будут результаты работы сервера.... То же что ты на экране обычно видишь - текст... Даже приглашение вернется $.... Можно проанализировать сразу... Если пришел ответ такой - значит сработало, другой - значит ошибка... Ты же после эксперимента ручками знаешь, что он должен вернуть, ну вот и сравнивай... |
| Автор: fuckerok 2.4.2004, 04:44 |
| Лано посмотрю сегодня |
| Автор: Maverick 2.4.2004, 09:14 |
| Ты вот этим Будешь пробовать - свойство UseNagle компонента присвой в false.... Наш Unix эту вещь не пропускал.... Я на этом в самом начале чуть не заглох... |
| Автор: fuckerok 4.4.2004, 04:59 |
| Конечно по сравнению с вами я Наверно это мясо раз админы ей пользуються |