![]() |
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. |
Creo recordar que había un código de Domingo (Seoane) para esto.
Busca en los foros por sockets, TCP/IP o Cliente/Servidor a ver si encuentras el hilo con estas pistas. |
ya encontre un ejemplo
gracias por el consejo, en los temas relacionados de la parte de abajo encontre un tema que decia: "Enviar y recibir archivos por sockets" y encontre un mensaje que mostraba el link de una pagina donde se puede descargar un ejmplo que funciona muy bien para la transferencia de archivos, el link es este:
http://www.planet-source-code.com/vb...d=783&lngWId=7 |
La franja horaria es GMT +2. Ahora son las 00:46:06. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi