كيف يمكنني التعامل مع Buffer في Tcp Indy 10
#1
السلام عليكم ورحمة الله وبركاته ,,,

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

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

اللهمّ إنّي ظلمت نفسي ظلماً كثيراً ولا يغفر الذّنوب إلا أنت

فاغفر لي مغفرة من عندك وارحمني إنّك أنت الغفور الرّحيم
الرد
#2
وجدت حل ,, هل هو نافع ام لا؟

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

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

اللهمّ إنّي ظلمت نفسي ظلماً كثيراً ولا يغفر الذّنوب إلا أنت

فاغفر لي مغفرة من عندك وارحمني إنّك أنت الغفور الرّحيم
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم