Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];

Вниз

Как узнать номер отключившегося клиента в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.036 c
6-1120273852
yurikon
2005-07-02 07:10
2005.10.23
ICQ


14-1128501142
глупенький
2005-10-05 12:32
2005.10.23
Time Server


5-1104257582
Profi
2004-12-28 21:13
2005.10.23
Табло калькулятора


1-1128024555
Igor_thief
2005-09-30 00:09
2005.10.23
System idle


14-1128064134
Walt
2005-09-30 11:08
2005.10.23
TransparentListBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский