向所有连接的客户端发送命令

opc*_*0de 6 delphi tcp indy

我有一个TIdHttpServer我必须保持连接打开,以便将一些命令发送回客户端.我想按下按钮并向所有连接的客户端发送命令时进行迭代.

我怎样才能做到这一点 ?

RRU*_*RUZ 10

您可以使用该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;
Run Code Online (Sandbox Code Playgroud)