Постановка задачи
Есть компонент idTCPserver. localhost:80
Клиент (браузер, к примеру Opera) отсылает одновременно 3 запроса на (localhost:80) - 1: GET index.php, 2: GET favicon.php, 3: GET signup.php
Надо отосдать: "Текст1" на запрос (1)
Надо отосдать: "Текст2" на запрос (2)
Надо отосдать: "Текст3" на запрос (3)
Как мне отослать ответы на каждый запрос ?
Пример
Код:
var
List: TList;
s: String;
i: Integer;
Begin
List := IdTCPServer1.Contexts.LockList;
IdTCPServer1.Contexts.UnlockList;
// Действие 1 - Количество активных подключений
i := List.Count;
...
// Действие 2 - Отправка данных
TIdContext(List.Items[i-1]).Connection.Socket.WriteLn(s);
end;
Я получаю количество активных подключений (Действие 1). К примеру i = 3
Затем отключается 1-й пользователь, и i становиться = 2
Происходит событие OnDisconnect, но пока данные там обрабатываются запускается отправка данных (Действие 2) пользователю i = 3, но его уже не существует, т.к. первый отключился, а остальные сдвинулись.