BCB利用Socket通信进行数据采集时缓冲区怎么设置

BCB利用Socket通信进行数据采集时缓冲区如何设置?
我用BCB中的Socket进行数据采集,采集卡每采集4K回传一次数据,在ClientRead中用下面的语句进行数据读取
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
TCustomWinSocket *Socket)
Socket->ReceiveBuf(pBuf,8192);
请问每次回传数据后,pBuf中上一次回传的数据要被覆盖吗?
我想设置一个缓冲区,缓冲区类似于堆栈,当缓冲区满后,新数据进入,栈底数据清除,这样使缓冲区中的数据始终为最新数据,请问如何来实现?

------解决方案--------------------
收到数据立马要用掉
------解决方案--------------------
缓冲区可以使用队列FIFO
每次回传数据后,pBuf中上一次回传的数据被覆盖