use TByteDynArray for buffer instead of string :

correction for tcp transport
  correction for library transport

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@809 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa
2009-05-25 16:13:54 +00:00
parent 4d76fe4edd
commit 13d1e675e6
15 changed files with 121 additions and 82 deletions

View File

@ -121,9 +121,9 @@ begin
i := bufferLen;
SetLength(binBuff,i);
repeat
j := FSocketObject.RecvBufferEx(@(binBuff[1]),i,DefaultTimeOut);
j := FSocketObject.RecvBufferEx(@(binBuff[0]),i,DefaultTimeOut);
FSocketObject.ExceptCheck();
FInputStream.Write(binBuff[1],j);
FInputStream.Write(binBuff[0],j);
Inc(c,j);
if ( ( bufferLen - c ) > 1024 ) then
i := 1024
@ -200,7 +200,7 @@ begin
buff := rdr.ReadBinary();
rdr := nil;
FInputStream.Size := 0;
FInputStream.Write(buff[1],Length(buff));
FInputStream.Write(buff[0],Length(buff));
SetLength(buff,0);
FInputStream.Position := 0;
rqst := TRequestBuffer.Create(trgt,ctntyp,FInputStream,FOutputStream,frmt);
@ -210,7 +210,7 @@ begin
i := FOutputStream.Size;
SetLength(buff,i);
FOutputStream.Position := 0;
FOutputStream.Read(buff[1],i);
FOutputStream.Read(buff[0],i);
FOutputStream.Size := 0;
wrtr := CreateBinaryWriter(FOutputStream);
wrtr.WriteBinary(buff);