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
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
Curtir tópico
+ 0
Responder
Posts
29/03/2006
Ermindo
caro colega, de uma olhada no topico
[url]
http://forum.clubedelphi.net/viewtopic.php?t=74553
[/url]
[url]
http://forum.clubedelphi.net/viewtopic.php?t=74553
[/url]
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)