C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: telnet  (Прочитано 2055 раз)
SilverFish
Участник


Сказали спасибо: +14/-6
Offline

Сообщений: 786


telnet
« : 27 Сентябрь 2013, 22:33:17 »

На моем локальном компьютере есть программа сервер слушающая порт 8887.
Я могу соединиться с этой программой, например, используя telnet.
Делаю такие команды в окне telnet c учетом, что имя моего компьютера CatKitty:
о CatKitty 8887
Появляется предложение логина в окне telnet
Login:
Логин равен 1, набираю 1 и жму ENTER
Login:1
После этого появляется приглашение ввести пароль:
Password:
Пароль тоже 1, набираю и жму ENTER
Password:1
После этого сервер в окне telnet возвращает строку об успешном соединении.

Подскажите, как соединиться с этим сервером из программы? Как правильно сформировать строку соединения с учетом всех ENTER.

// IdTCPClient1->Port =8887
// IdTCPClient1->Host=127.0.0.1
IdTCPClient1->Connect(); // IdTCPClient1->IOHandler->WriteLn("……………");

Из командной строки можно соединиться так:
cmd
telnet localhost 8887
Login: нажать 1
Password: нажать 1

На рисунке моя попытка. Не работает...
« Последнее редактирование: 28 Сентябрь 2013, 14:05:41 от SilverFish » Записан
SilverFish
Участник


Сказали спасибо: +14/-6
Offline

Сообщений: 786


« Ответ #1 : 29 Сентябрь 2013, 23:10:45 »

Решение такое:
Код
IdTCPClient1->Host = "localhost";
IdTCPClient1->Port = 8887;
IdTCPClient1->Connect();
IdTCPClient1->IOHandler->WaitFor("Login:");
IdTCPClient1->IOHandler->WriteLn("1");
IdTCPClient1->IOHandler->WaitFor("Password:");
IdTCPClient1->IOHandler->WriteLn("1");
 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.066 секунд. Запросов: 19.