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

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

Socket.Connections


Kryptin Phreek ©   (2002-02-22 00:27:00) 

Допустим имеется несколько подключенных к серверу клиентов. Суть вопроса в следующем: если n-ый клиент отключится, то какой номер connection"а останется за n+1-ым подключенным? Сдвинется ли он на -1 или останется таким же? А если при этом подключится новый, то назначит ли ему сервер освободившийся номер? И вообще, где можно хорошую русскую инфу по TServerSocket достать?


Digitman   (2002-02-22 08:44:00) [1]


var
FConnections: TList;
...

procedure TServerWinSocket.AddClient(AClient: TServerClientWinSocket);
begin
FListLock.Enter;
try
if FConnections.IndexOf(AClient) < 0 then
FConnections. Add(AClient);
finally
FListLock.Leave;
end;
end;

procedure TServerWinSocket.RemoveClient(AClient: TServerClientWinSocket);
begin
FListLock.Enter;
try
FConnections. Remove(AClient);
finally
FListLock.Leave;
end;
end;

function TServerWinSocket.GetConnections(Index: Integer): TCustomWinSocket;
begin
Result := FConnections[Index];
end;



а теперь - загляни в реализацию класса TList и посмотри, что происходит с индексами элементов списка при добавлении/удалении некоего элемента


Ghost.   (2002-02-22 08:40:00) [2]

Все сдвинуться а новый будет последним


Наверх

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