Текущий архив: 2002.12.12;
Скачать: CL | DM;
Вниз
10055 Найти похожие ветки
← →
nickolayLI (2002-10-16 20:52) [0]Привет всем!
если сервер долго не отвечает, клиент выдает ошибку 10055
как лечить?
в обработчике OnError
прописано ErrorCode:=0;
TserverSocket, TClientSocket, Delphi 5
← →
karbo © (2002-10-17 05:33) [1]A что лечить?
Рассказ про TClientSocket и режим ctNonBlocking.
Устанавливаешь ClientType, Port, Address (ну или там по вкусу
Host, Service ).
Вызываешь TClientSocket.Open.
Далее одно из трех :
1. Происходит OnConnect. Радостно продолжаем свои дела.
2. Происходит OnError. Не повезло. Если " в обработчике OnError
прописано ErrorCode:=0", то системное сообщение про ошибку
будет выползать только при прогоне программы под отладчиком
delphi. При самостоятельном запуске exe-файла cообщение не будет
иметь место быть.
3. В течении длительного (1..100) сек ничего не происходит. Здесь
лучше 100 сек не ждать, а отловить ситуацию тамером (TTimer).
Раз в 0.1 сек проверять наступление OnConnect или OnError и если
такового за 4 к примеру секунды не произошло, больше не ждать ничего, а идти как после OnError.
Всё. Или надо было рассказывать, как заставить сервер ответить?
← →
nickolayLI (2002-10-17 07:18) [2]ну сервер, ни как не ответит, так как он выгружен.
у меня сделано так, при запуске проги, стартует таймер, и в этом таймере стоит ClientSocket1.Open;
потом с onConnect стоит, если ми подключились к серверу то Timer1.Enabled:=False;
а в обработчике OnError(),
ErrorCode:=0
onDisconect();
Timer1.Enabled:=False;//если после подключения сервер орубился...
спасибо.
Страницы: 1 вся ветка
Текущий архив: 2002.12.12;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.017 c