Si no estas usando Indy, sino los componentes genericos de manejo de sockets de delphi, tienes que hacer un recorrido por todos los clientes conectados al servidor, y repartirle los mensajes a cada uno.
Sucede que cada vez que conectas, el serversocket mantiene una coleccion de las distintas conexiones que tiene establecidas a el, asi que en vez de escribir el codigo:
Código:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
TextoRecibido : String;
begin
TextoRecibido := Socket.ReceiveText;
Socket.SendText(TextoRecibido);
txtRecibido.Lines.Add (TextoRecibido);
end;
escribirias:
Código:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
TextoRecibido : String;
m : integer;
begin
TextoRecibido := ServerSocket.ReceiveText;
for m := 0 to ServerSocket.Socket.ActiveConnections do
ServerSocket.Socket.Connections[m].SendText(TextoRecibido);
txtRecibido.Lines.Add (TextoRecibido);
end;