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

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

ServerSocket & ClientSocket [D6, WinXP]


Rust ©   (2004-03-24 17:18:00) 

Работае Сервер.
К нему подключены клиенты.
После отключения клиента сервер не меняет количество подключений не обновляет список подключений и клиент так и остаётся висеть.
Хотя реально он отключён.
Как его удалить из списка?
Как обновить инфу о подключениях?


Fredericco   (2004-03-24 19:31:00) [1]

Если Disconnect срабатывает, то ты должен помнить, что в непосредственно процедуре дисконекта у ActiveConnections еще не отнята единичка.
Надо выйти из обработчика и проверять.


FireMan_Alexey   (2004-03-24 17:38:00) [2]

А он отключается Disconnect-ом(Клиент) или просто закрывается прога?
Если я прав, то клиент не дисконектится, а просто зарывается прога или перегружается комп! При этом логическое соединение с клиентом остается! И оно останется до следующей попытки чтения/записи, после чего вылезет ошибка!
А ты OnClientError как обрабатываешь?
Вобщем Digitman когда-то посоветовал:
procedure OnClientError(...);
Begin
 Error:=0;
 Socket.Disconnect(Socket.SocketHandle);
End;
и всегда нормально дисконектится!
Ну и вообще-то код желательно выложить!


Polevi   (2004-03-24 17:26:00) [3]

OnClientDisconnect отрабатывает ?


Наверх

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