Ver Mensaje Individual
  #7  
Antiguo 26-02-2009
maurici0 maurici0 is offline
Miembro
 
Registrado: feb 2009
Posts: 17
Reputación: 0
maurici0 Va por buen camino
Bueno al final lo hice de otra manera pero se pudo:

Cliente:
Código Delphi [-]
procedure TForm4.Button1Click(Sender: TObject);
var
   FStream: TFileStream;

begin
  //Creamos conexion
  IdTCPClient1.Host:='127.0.0.1'; //Prueba local
  IdTCPClient1.Port:=1050;
  IdTCPClient1.Connect;
  IdTCPClient1.Socket.WriteLn(mensaje.text); //Tomo un mensaje escrito

  FStream := TFileStream.Create('C:\cliente.jpg', fmOpenRead); //Busco el archivo que quiero pasar
  try
    IdTCPClient1.IOHandler.Write(Fstream,0,true); //Mando archivo
  finally
    IdTCPClient1.Disconnect;
  end;
  FreeAndNil(FStream);

  IdTCPClient1.Disconnect;

end;

Servidor:
Código Delphi [-]
procedure TForm5.IdTCPServer1Execute(AContext: TIdContext);
var
sMensaje: String;
  s, sCommand, sAction : string;
    fStream : TFileStream;

begin
  //Traigo y  muestro mensaje
  sMensaje := AContext.Connection.Socket.ReadLn;
  Mensaje.Lines.Add( 'De: ' + AContext.Binding.PeerIP );
  Mensaje.Lines.Add( 'Mensaje: ' + sMensaje );
  //Guardo archivo enviado
  FStream := TFileStream.Create('C:\prueba\servidor.jpg', fmCreate);
  try
    AContext.connection.IOHandler.ReadStream(fstream);
  finally
    AContext.connection.Disconnect;
  end;
  FreeAndNil(FStream);

end;


Espero que a alguien le sirva , gracias a ElKurgan por su tiempo.
Responder Con Cita