|
TFileStream 으로 전송 하면
수신부에서 확실하게 받는데
TMemoryStream 으로 전송하면
제대로 받질 못하고 계속 데이터를 요청하네요.
--- 송신부
JPGImage = new TJPEGImage();
JPGImage->Assign( Source_BMP );
SendStream = new TMemoryStream;
JPGImage->SaveToStream( SendStream );
//JPGImage->SaveToFile( "aa.jpg" );
delete JPGImage;
//SendStream = new TFileStream( "aa.jpg", fmOpenRead );
char *LoadData = new char[SendStream->Size];
::memset( LoadData, 0x00, sizeof(SendStream->Size) );
SendStream->Read( LoadData, SendStream->Size );
Socket->SendBuf( LoadData, SendStream->Size );
delete [] LoadData;
delete SendStream;
--- 수신부
int Length = Socket->ReceiveLength();
char *ReceiveText = new char[Length];
::memset( ReceiveText, 0x00, Length );
Socket->ReceiveBuf( ReceiveText, Length );
if ( SaveStream == NULL )
SaveStream = new TMemoryStream;
//SaveStream = new TFileStream( "aa.jpg", fmCreate );
SaveStream->Write( ReceiveText, Length );
delete [] ReceiveText;
Sleep(1);
Application->ProcessMessages();
if ( SaveStream == NULL )
return;
delete SaveStream;
SaveStream = NULL;
|