delphi4arab منتديات دلفي للعرب
كيف يمكنني التعامل مع Buffer في Tcp Indy 10 - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف يمكنني التعامل مع Buffer في Tcp Indy 10 (/showthread.php?tid=5393)



كيف يمكنني التعامل مع Buffer في Tcp Indy 10 - M_Mori2010 - 14-07-2013

السلام عليكم ورحمة الله وبركاته ,,,

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

من حيث الارسال والتلقي ...


كيف يمكنني التعامل مع Buffer في Tcp Indy 10 - M_Mori2010 - 15-07-2013

وجدت حل ,, هل هو نافع ام لا؟

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
دون الوقوع في الاخطاء

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