我有一个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;