delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف يمكنني التعامل مع Buffer في Tcp Indy 10
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته ,,,

ماهي الطريقة الصحيحة للتعامل مع Buffer في Tcp Indy 10

من حيث الارسال والتلقي ...
وجدت حل ,, هل هو نافع ام لا؟

PHP كود :
Type
TBufSize 
= 0..(High(Word) div 2);
    
TBuffer  = array[TBufSize] of Byte; 

للكتابة :

PHP كود :
procedure WriteBufferCardinal(index : word; CardinalIn : cardinal; var
Buffer : TBuffer);
    
begin
        Assert
(Index <= 32766, 'WriteBuffer - Cardinal: index overflow ' +
IntToStr(Index));
        
Move(CardinalIn, Buffer[Index], 4);
    
end; 

للأرسال :

PHP كود :
procedure SendBuffer(AClient : TIdContext; Buffer : TBuffer; Size :
Cardinal);
    var
        
SendBytes : TIdBytes;
    
begin
        SendBytes 
:= RawToBytes(Buffer,Size);
        
AClient.Connection.IOHandler.Write(SendBytes);
    
end; 

للتلقي :

PHP كود :
procedure RecvBuffer(AClient : TIdContext; var Buffer; Size :
Cardinal);
    var
        
RecvBytes : TIdBytes;
    
begin
        AClient
.Connection.IOHandler.ReadBytes(RecvBytes,Size);
        
BytesToRaw(RecvBytes,Buffer,Size);
    
end; 

هل من شرح بسيط للتعامل مع هذا ؟

علماً انني حاولت التعامل ووجدت الكثير من الطرق لكن ارغب
بشرح بسيط حتى اتمكن من التعامل مع Buffer
دون الوقوع في الاخطاء

جزاكم الله كل خير ..