Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
1-1128086706
fet
2005-09-30 17:25
2005.10.23
Оконтуривание в Delphi


4-1124692715
Malignus
2005-08-22 10:38
2005.10.23
Определение активного юзера из сервиса


1-1128076983
Angel[Saint]
2005-09-30 14:43
2005.10.23
Как WinRAR определяет что файл, открытый из архива был закрыт?


3-1126155558
Ol
2005-09-08 08:59
2005.10.23
MSSQL+ADO+TQuery+TDBEdit


2-1128064493
MirsaID
2005-09-30 11:14
2005.10.23
Не могу подключатся базы Access через ADO




   Наверх