Russian Qt Forum

Qt => Работа с сетью => Тема начата: knower от Февраль 19, 2010, 02:40



Название: QtTelnet помогите плиз разобраться
Отправлено: knower от Февраль 19, 2010, 02:40
пишу прогу которая коннектится к дсл модему через телнет и посылает ему разные команды.Использую класс QtTelnet он в стандартный набор не входит, качал я его с офф сайта...

Вопрос
// tel это объект QtTelnet 
void avangard::Button2clicked()
{
 tel->connectToHost("192.168.1.1",23);
 tel->login("admin","admin");
 tel->sendData("reboot");
 connect(tel, SIGNAL(message(const QString &)),this, SLOT(mes2(const QString &)));

 tel->close();
   }
в функции mes2 модем отсылает мне сообщение "BCM96338 ADSL Router
(none) login: "
хотя я вызывал ф-ию login и он даже не перезагружается и не авторезуется ((((
в чем проблема разобраться не могу ......


Название: Re: QtTelnet помогите плиз разобраться
Отправлено: ecspertiza от Февраль 19, 2010, 11:57
Могу предположит что проблема в том что мы коннектишься по 23-порту, а модем принимает скорее всего по 80-ому.


Название: Re: QtTelnet помогите плиз разобраться
Отправлено: ecspertiza от Февраль 19, 2010, 12:46
Да, у меня еще такой вопрос есть, обычто dsl имеют веб интерфейс , чем вызвано желание работать через telnet ? А не по веб протоколам?


Название: Re: QtTelnet помогите плиз разобраться
Отправлено: knower от Февраль 20, 2010, 03:33
коннект к модему происходит если я не ошибаюсь то телнет это 23 порт и не как иначе (спорить не буду тк могу ошибаться)
веб интерфейс есть версии прошивок меняются веб интерфейс тоже может измениться а это усложняет,
я запускаю :
connectToHost() он коннектится
даллее я ему отсылаю команду login() при помощи которой я должен пройти авторизацию
даллее я отсылаю  message telnet серверу а он в ответ введите логин .........


Название: Re: QtTelnet помогите плиз разобраться
Отправлено: ptica от Февраль 21, 2010, 03:23
а во внутрь посмотреть что делает метод login карма не позволяет =). В общем если по простому то попробуй поменять вызова login и connectToHost местами. Ну и боюсь что тебе все равно придется дебажить QtTelnetPrivate класс там есть свои подводные камушки =)