![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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... Просто может быть то, чтоты неверный пассворд или юзернейм отправляешь, а сервер в ответ молчит...