while(1){
if(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
connect();//Твоя ф-ция коннекта, проверки ...
}
зависание при connect()
Программа работает очень просто:
1. соединяется с сервером
2. вводит логин, пароль
3. проверяет ответ
И всё это забито в цикл.
И дело в том, что на время выполнения всех итераций цикла, программа просто повисает. Соответственно после перебора всех паролей, она снова оживает и выводит на экран результаты каждой итерации :/
Внимание вопрос: как с этим бороться (с зависанием)? Или хотя бы, как заставить программу, чтобы она выводила на экран что-либо после каждого connect()'а, а не всё сразу в конце?
Цитата:
Originally posted by nof
В общем, я для интереса написал gui'евый переборщик паролей для ftp-сервер и сталкнулся со странной проблемой.
Программа работает очень просто:
1. соединяется с сервером
2. вводит логин, пароль
3. проверяет ответ
И всё это забито в цикл.
И дело в том, что на время выполнения всех итераций цикла, программа просто повисает. Соответственно после перебора всех паролей, она снова оживает и выводит на экран результаты каждой итерации :/
Внимание вопрос: как с этим бороться (с зависанием)? Или хотя бы, как заставить программу, чтобы она выводила на экран что-либо после каждого connect()'а, а не всё сразу в конце?
В общем, я для интереса написал gui'евый переборщик паролей для ftp-сервер и сталкнулся со странной проблемой.
Программа работает очень просто:
1. соединяется с сервером
2. вводит логин, пароль
3. проверяет ответ
И всё это забито в цикл.
И дело в том, что на время выполнения всех итераций цикла, программа просто повисает. Соответственно после перебора всех паролей, она снова оживает и выводит на экран результаты каждой итерации :/
Внимание вопрос: как с этим бороться (с зависанием)? Или хотя бы, как заставить программу, чтобы она выводила на экран что-либо после каждого connect()'а, а не всё сразу в конце?
Код:
Цитата:
Originally posted by Bora
Код:
while(1){
if(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
connect();//Твоя ф-ция коннекта, проверки ...
}
if(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
connect();//Твоя ф-ция коннекта, проверки ...
}
Или обрабатывай connect() в отдельном потоке