Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SendCmd в indy [D7, WinXP]


Witaliy ©   (2003-12-10 12:57:00) 

Уважаемые мастера !
Есть код :
IdTelnet.Connect(20);
IdTelnet.GetResponse([220]);
If IdTelnet.SendCmd("user "+UserNameEdit.Text,[200])=200 Then
Begin
If IdTelnet.SendCmd("pass "+PasswordEdit.Text,[200,203])<>200 Then
Begin
Application.Terminate;
End;
End;

IdTelnet.Disconnect;
Close;

На строке посылки пароля система подвисает. Я так понимаю не дожидается кода ответа. Если повторяю те-же действия в telnet вижу следующее:

220 WELCOME
user <имя пользователя>
200 OK
pass <пароль>
200 OK

В чем может быть ошибка ?


Witaliy   (2003-12-10 13:48:00) [1]

Нет, SendCmd отправляет строку как WriteBuffer(Str+EOL), где EOL=#10+#13. Такое впечатление, что ответ приходит раньше чем его начинает ожидать IdTelnet


MadSliMX   (2003-12-10 13:30:00) [2]

Дело фсё в том что IDTelnet Отправляет по символам... т.е. делаешь цикл и отправляешь после каждого слова #10#13... Просто может быть то, чтоты неверный пассворд или юзернейм отправляешь, а сервер в ответ молчит...


Наверх

Титульная страница Поиск, карта сайта Написать письмо