Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.23;
Скачать: CL | DM;

Вниз

Как узнать номер отключившегося клиента в TServerSocket?   Найти похожие ветки 

 
Galiaf   (2005-07-04 03:29) [0]

Сдравствуйте. В TServerSocket при отправке текста необходимо указывать номер клиента от 0 до количество клиентов - 1, можно ли в событии onclientdisconect узнать какой именно клиент отключился(желательно узнать его номер), или есть какие-нибудь другие способы это реализовать?


 
Digitman ©   (2005-07-04 08:40) [1]


> можно ли в событии onclientdisconect узнать какой именно
> клиент отключился(желательно узнать его номер)


procedure TMyForm.SrvScktDisconnect(Sender: TOBject; Socket: TCustomWinSocket);
var
 i: Integer;
begin
 with SrvSckt.Socket do
 for i := 0 to ActiveConnections - 1 do
   if Connections[i] = Socket then
     begin
       ShowMessage("Отключился клиент № " + IntToStr(i));
       break;
     end;
end;


> необходимо указывать номер клиента от 0 до количество клиентов
> - 1


идентифицировать клиента по его номеру в списке активных соединений нельзя

пусть некий в момент времени список выглядит так :

0 - КлиентА
1 - КлиентВ
2 - КлиентС

здесь КлиентС имеет "номер 2"

теперь, допустим, КлиентВ отключился

после отключения КлиентаВ список будет выглядеть уже по-иному :

0 - КлиентА
1 - КлиентС

отсюда наглядно видно, что ставить клиенту в однозначное соответствие его номер в списке активных соединений ни в коем случае нельзя, ибо состояние списка может измениться в любой момент



Страницы: 1 вся ветка

Текущий архив: 2005.10.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.055 c
11-1109452786
Ripper
2005-02-27 00:19
2005.10.23
REG MULTI STRING


4-1124713454
Delphi_is_cool
2005-08-22 16:24
2005.10.23
Как установить интервал таймера 1 микросекунда


2-1127901511
Grief
2005-09-28 13:58
2005.10.23
динамические массивы в BlockRead


1-1128334839
Shlomo
2005-10-03 14:20
2005.10.23
Rave Reports: Region Component – его рамки?


3-1126247175
zorik
2005-09-09 10:26
2005.10.23
Существует ли ф-ция