私は TIdHttpServer を持っています。いくつかのコマンドをクライアントに送り返すために、接続を開いたままにしておく必要があります。ボタンを押したときに繰り返し、接続されているすべてのクライアントにコマンドを送信したいと考えています。
これどうやってするの ?
Contexts
プロパティを使用してクライアントを取得しIOHandler
、各クライアントの を使用してメッセージを送信できます。
Var
Clients : TList;
i : integer;
begin
if not Assigned(IdTCPServer1.Contexts) then exit;
Clients:=IdTCPServer1.Contexts.LockList;
try
for i := 0 to Clients.Count-1 do
try
TIdContext(Clients[i]).Connection.IOHandler.Write(LBuffer);//LBuffer is a TBytes with the data to send
except
...
end;
finally
IdTCPServer1.Contexts.UnlockList;
end;
end;