Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-01-2009
jomanmoz jomanmoz is offline
Miembro
 
Registrado: ago 2006
Posts: 21
Poder: 0
jomanmoz Va por buen camino
enviar imagen con sockets

Hola. comañeros del foro.

He trabajado con sockets pero solo envio y recibo texto, como si fuese un chat. ha hora quisisera saber la forma de enviar y recivir imagenes jpg o bitmap.
para ser mas claro en lo que necesito, desearia que el socketServidor enviara la imagen contenida en un Timage, y el socketCliente la recibiera para mostrarla en otro Timage.
Se que para esto se envia un Stream, el codigo que he encontrado para enviar el stream es el siguiente:

al dra clic a un boton se ejecutaria el siguiente codigo:

procedure TForm1.Button2Click(Sender: TObject);
var
mystream: TMemoryStream;
begin
mystream:= TMemorystream.Create;
Image1.Picture.Bitmap.SaveToStream(mystream);
Cliente.socket.SendStream(mystream);
end;

Ha hora necesitaria el codigo faltante para que el SocketCliente reciba el stream y mostrarlo en un Timage.

he encontrado codigos pero no me an funcionado, por ejemplo este recibe el Stream y crea un archivo Bmp, pero no me funciona.

procedure TForm1.ServerClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
nReceived:integer;
Buffer: array [0..99999] of byte;
Stream:TMemoryStream;
begin
//Esta es la parte que se encarga del stream
Stream := TMemoryStream.Create;
Screen.Cursor := crHourglass;
try
while True do
begin
nReceived := Socket.ReceiveBuf (Buffer, sizeof (Buffer));
if nReceived <= 0 then//<--Si ya no se reciben datos, es decir, al terminar la transferencia
Break
else
Stream.Write (Buffer, nReceived);//<--Vamos rellenando el stream
Sleep (200);
end;
Stream.Position := 0;
stream.SaveToFile('c:\imagen.bmp');
finally
end;
Stream.Free;
Screen.Cursor := crDefault;
exit;
end;

Mi idea no es almacenar el stream en archivo, sino solo mostrar el stream en un Timagen. Alguien podria ayudarme.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Enviar una imagen por red de forma Optimizada fide API de Windows 1 16-09-2007 20:36:38
Enviar cadena de caracteres de cliente a servidor (Sockets) david duarte Providers 5 20-08-2007 20:28:56
enviar sonidos por sockets dmagui Firebird e Interbase 2 25-08-2005 15:25:03
enviar imagen a excel Ester Servers 1 31-01-2005 16:56:52
Enviar imagen o archivo por socket DarkByte Internet 5 11-09-2003 15:16:16


La franja horaria es GMT +2. Ahora son las 13:50:27.


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