请问在tcp中怎样一次性对所有已连接的客户端发消息阿?(不包括udp的广播)

解决方案 »

  1.   

    uses IdSocketHandle;var
      SocketHandles: TList;procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
    begin
      SocketHandles.Add(AThread.Connection.Binding);
    end;procedure TForm1.IdTCPServer1Disconnect(AThread: TIdPeerThread);
    begin
      SocketHandles.Delete(SocketHandles.IndexOf(AThread.Connection.Binding));
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      i: integer;
      buf: array[0..9] of char;
    begin
      for i:=0 to SocketHandles.Count-1 do
        TIdSocketHandle(SocketHandles[i]).Send(buf, sizeof(buf), $1);
    end;