libcurl + telnet
От: Smooky Россия  
Дата: 07.10.11 08:11
Оценка:
Всем привет!

Есть простая задачка, на хосте заказчика крутится одна софтина, которая редко но периодически сбоит... Как временное решение (просто надо максимально быстро, просто, и тупо), надо быстренько сделать прогу, которая будет периодически коннектится к хосту по telnet'у, посылать пару команд, на которые приходит ответ... в ответе как раз будет признак того, сбойнул модуль или нет... и соответственно надо принять решение: условно, получили 0 — модуль сбойнул, перегружаем его (т.е. засылаем команду на перезапуск), 1 — всё нормально, продолжаем периодически чекать...

Пока остановился на libcurl. Прога будет на виндовой машине... Не хочется городить велосипеды... Есть у кого готовый примерчик на с/с++?

Зараннее спасибо.
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re: libcurl + telnet
От: chemey  
Дата: 07.10.11 14:56
Оценка:
Здравствуйте, Smooky, Вы писали:

S>Пока остановился на libcurl. Прога будет на виндовой машине... Не хочется городить велосипеды... Есть у кого готовый примерчик на с/с++?


Зря остановился.
Libcurl отлично работает с HTTP, сносно — с FTP, а вот с телнетом — хреново, потому что слать и принимать данные через колбэки это немножко неудобно.
Я бы посмотрел в сторону скриптовых языков и модулей (библиотек) для работы с telnet.
В перле есть, к примеру, Net::Telnet. Юзается он примерно так:

    use Net::Telnet ();
    $t = new Net::Telnet (Timeout => 10,
                          Prompt => '/bash\$ $/');
    $t->open("sparky");
    $t->login($username, $passwd);
    @lines = $t->cmd("who");
    print @lines;
Бзззззззжжжжж
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.