Ver Mensaje Individual
  #9  
Antiguo 10-11-2003
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Reputación: 23
__hector Va por buen camino
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;
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita