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

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

И снова Indy. [D7, WinXP]


$hade ©   (2003-03-25 16:06:00) 

Такая вот ситуевина:
Есть клиент и сервер на TIdTCPClient и TidTCPServer соответственно...
Сервер принимает команду от клиента...обрабатывает и шлет ответ(файл) через WriteStream....
WriteStream работает от 0 до 10 сек в зависимости от размера файла,и после этого снова ожидаем команды...
Но если канал тоненький (dial-up) - клиент принимает файл никак не 10 секунд...На сервере стоит таймаут 15 секунд и соответственно пока клиент качает файл - пару раз может вылететь
Read Timeout...
Если клиент отключается (Disconnect) - то сервер сразу его отрубает....
А вот если отрубается канал (модем отцепился...провод выдрали из сетевухи у клиента) на сервере почему то не происходит события OnDisconnect и еще в течении 5(!) минут он пытается безуспешно(Read Timeout) читать от клиента команды после чего (5 минут) отрубается с exception"ом - Connection reset by peer.
Вопрос: Какого х?*я он столько времни не может понять что клиента нет ? Ghbxtv постоянно используется CheckForDisconnect....
Помогите PLZ! Вам это ничего не составит - а мне большая помошь...:-)


$hade   (2003-03-26 08:53:00) [1]

Никто не знает что-ли? :-((


Наверх

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