Fórum Erro em envio de stream #317711

29/03/2006

0

Galera.. tenho que enviar uma imagem via socket..
estou usando o delphi 5 e não posso mudar de versão por motivos de força maior($$$$)...Queria a ajuda de vcs para identificar onde estou errando..

na parte servidora

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var fs : TFileStream;
begin
fs := nil;
sf := ´C:\img1134381793a.JPG´;
fs := TFileStream.Create(sf,fmOpenRead);
fs.Position := 0;
Socket.SendText(Inttostr(fs.Size)+#0);
Socket.SendStream(fs);
end;


na parte cliente:

var
BytesRecebidos : integer;
Stream : TMemoryStream;
Buffer : Array [0..9999] of char;
Parcialsize : integer;
Totalsize : integer;
JpgImg : TJPegImage;

begin
TotalSize := Socket.ReceiveLength;
Stream:= TMemorystream.Create;
Stream.Position:=0;
Repeat
BytesRecebidos:= Socket.ReceiveBuf(Buffer,sizeof(Buffer));
Stream.Write(Buffer, BytesRecebidos);
Sleep(200);
If(Stream.Size >= TotalSize) then
begin
Stream.Position:= 0;
jpgImg := TJPEGImage.Create;
jpgImg.LoadFromStream( Stream );
image1.Picture.Assign( jpgImg );
end;
Until (Stream.Size = TotalSize) or (BytesRecebidos<=0)

valeu galera..preciso muito disso


Eric.miranda

Eric.miranda

Responder

Posts

29/03/2006

Ermindo

caro colega, de uma olhada no topico

[url]
http://forum.clubedelphi.net/viewtopic.php?t=74553
[/url]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar