Форум: "Начинающим";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
ВнизФункция WaitFor в Indy. Найти похожие ветки
← →
Новичек © (2007-11-02 13:04) [0]Уважаемые Мастера, вот кусок кода:
idtlnt1.Port := 20020;
idtlnt1.Host := "10.10.110.14";
idtlnt1.connect;
idtlnt1.WaitFor("Userid:");
idtlnt1.Write("It"s me" + #13#10);
idtlnt1.WaitFor("Password:");
idtlnt1.Write("Password" + #13#10);
где idtlnt1 - клиент телнета из библиотеки Indy (типа TIdTelnet).
Подскажите, пожалуйста, ну почему WaitFor не работает (прога висит бесконечно).
Спасибо.
← →
Reindeer Moss Eater © (2007-11-02 13:26) [1]function TIdTCPConnection.WaitFor(const AString: string): string;
//TODO: Add a time out (default to infinite) and event to pass data
//TODO: Add a max size argument as well.
//TODO: Add a case insensitive option
//TODO: Bug - returns too much data. Should only return up to search string adn not including
// and leave the rest in the buffer.
begin
Result := "";
// NOTE: AnsiPos should be used here, but AnsiPos has problems if result has any #0 in it,
// which is often the case. So currently this function is not MBCS compliant and should
// not be used in MBCS environments. However this function should only be used on incoming
// TCP text data as it is 7 bit.
while Pos(AString, Result) = 0 do begin
Result := Result + CurrentReadBuffer;
CheckForDisconnect;
end;
end;
← →
umbra © (2007-11-02 13:30) [2]если прога висит, значит ей не приходит то, чего она ждет
← →
Новичек © (2007-11-02 13:32) [3]Спасибо. Как я понял из ответа - хрен мне, а не WaitFor :)
← →
Reindeer Moss Eater © (2007-11-02 13:38) [4]const cstr = "userid:";
....
begin
while Pos("Userid:",cstr) = 0 do;
end;
Тоже "зависает". Странно, да?
← →
Новичек © (2007-11-02 14:53) [5]Ну, это понятно.
Я уже взял исходник телнета из Indy, пытаюсь перелопатить его.
← →
Reindeer Moss Eater © (2007-11-02 15:01) [6]Мда. Намек не понят.
Ты бы лучше уточнил, что именно приходит от сервера в качестве приглашения ввести юзерайди.
А то ты ждешь до упора одно, а оно уже пришло, но немного не такое как ты думаешь.
← →
Новичек © (2007-11-02 16:32) [7]
> Reindeer Moss Eater
Переделал telnet-клиент от Indy. Работает, вроде. Правда, сокет я использовал стандартный API"шный, но мне так удобнее и проще работать.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c