Q&A

  • indy에서 stream전송에 대해서.
procedure TForm1.Button1Click(Sender: TObject);//보내는 부분.

var

fStream : TMemoryStream;

j : TJPEGImage;

begin

if OpenDialog1.Execute then

begin

fStream := TMemoryStream.Create;



files := fStream.size;

fStream.LoadFromFile(OpenDialog1.FileName);

client.OpenWriteBuffer;

client.WriteStream(fStream);

client.CloseWriteBuffer;





fStream.Free;

fStream := nil;

end;

end;



procedure TForm1.FormCreate(Sender: TObject);//처음 시작부분..

begin

server.DefaultPort := 3333;

client.Port := 3333;

client.Host := '127.0.0.1';

server.Active := true;

client.Connect;

end;



procedure TForm1.serverExecute(AThread: TIdPeerThread);//받는부분..

var

fStream : TMemoryStream;

begin

fStream := TMemoryStream.Create;

fStream.Position := 0;

AThread.Connection.ReadStream(fStream,-1, false);



fStream.Position := 0;



image1.Picture.Graphic.LoadFromStream(fStream);

fStream.Free;

fStream := nil;

end;



위에와 같이 간단하게 만들어서 실험하는데도...계속 에러가 나네요

받는부분에서 stream에 write를 할 수 없다는데 무슨 말인지..



indy내부 결함이 있나여????

아니면..틀린것이나..다른 대처방법좀 알려주세요

0  COMMENTS