![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]Все сдвинуться а новый будет последним