Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Transferencia de Archivos x Sockets (https://www.clubdelphi.com/foros/showthread.php?t=70356)

ØnLy 16-10-2010 17:31:30

Transferencia de Archivos x Sockets
 
Bueno les traigo otra de mis dudas de novato!

Les planteo mi situacion , actualmente estoy haciendo una
aplicacion cliente- servidor , el cliente esta en VB y el servidro el DELPHI , Haora estoy tratando de mandar una archvio de cliente al servidor...


enviar la data desde VB es sencillo pero...
no estoy seguro de como hacer para que el servidor(Delphi) reciva la data desde el cliente y cree un nuevo archivo con ella????

La data enviada esta almacenada en un string de VB , cosa que no creo deberia representar un problema !?!?

Saludos y gracias de antemano!

kurono 17-10-2010 01:02:47

utilizando el componente SocketServer en el evento OnclientRead escribe este codigo

Edit1.Text:=Socket.ReceiveText;

deberas asignarle el mismo puerto que en la parte cliente

ØnLy 17-10-2010 01:27:23

Ehh , esa seria la manera de recivir texto mediante el socket( Cosa que se)
pero yo hablo de recibir un string con la data de un archivo y desde delphi , recivirla y crear un nuevo archivo co ella........

alo comp

var
Data : string;

begin

data : socket.ReceiveText;

WriteFile( Data ) // <<< Esta parte es la que mas me confunde

end.

No se si me explique bien , pero espero que alguin me ayude!

ecfisa 17-10-2010 02:33:45

Cita:

Empezado por ØnLy (Mensaje 379487)
Ehh , esa seria la manera de recivir texto mediante el socket( Cosa que se)
pero yo hablo de recibir un string con la data de un archivo y desde delphi , recivirla y crear un nuevo archivo co ella........

alo comp

var
Data : string;

begin

data : socket.ReceiveText;

WriteFile( Data ) // <<< Esta parte es la que mas me confunde

end.

No se si me explique bien , pero espero que alguin me ayude!

Hola.

Código Delphi [-]
...
var
  txt: TextFile;
  Str: string;
begin
  Str:= Socket.ReceiveText;
  AssignFile(txt,'UNIDAD:\RUTA\NOMBRE_DE_ARCHIVO.TXT'); //unidad,ruta,nombre y extensión a gusto...
  try
    Reset(txt);
  except
    Rewrite(txt);
  end;
    Writeln(txt, Str);
  CloseFile(txt);
end;

Guía de estilo .

Saludos. :)

ØnLy 17-10-2010 02:39:43

A eso me referia! xD
Y como seria el por ejemplo para mandar una imagen.... del servidor al cliente

Tengo este codigo para mandar pero no se como recibirlo para guarlo!

Código Delphi [-]
var 

 stream : TMemoryStream;

begin

stream := TMemorystream.Create;//Creamos el bufefr para el stream

    //Metemso la imagen en el stream
     image1.Picture.Bitmap.SaveToStream( stream );

         ///Enviamosel stream con al data
         socket.SendStream( stream );

end;

Como reciviriamos esa data y reproducirla en otro TImage sin meterla en una archivo primero?

Saludos

kdemia 20-03-2011 07:08:05

estoy en lo mismo que vos.. yo hice este codigo que no funciona pero supuestamente tendria que funcionar, a ver si alguien lo mejora...

Código Delphi [-]
procedure onreaddelserversocket ( ..parametros..);
var
   Stream: TMemoryStream;
   Size: Integer;
begin
   Stream:= TMemoryStream.Create;
   Size:= Socket.ReciveLength;
   Socket.ReciveBuf(Stream, Size);
   Image1.Picture.Bitmap.LoadFromStream(Stream);
   Stream.Free;
end;


La franja horaria es GMT +2. Ahora son las 10:40:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi