如果我一直向接收方發送數據,那麼發送的數據可能會重疊,使得它們在緩衝區中累積,因此下一次讀取緩衝區時也會讀取另一個已發送數據的數據?TCP數據能否在緩衝區中重疊
我正在使用Qt和readAll()
來接收數據並對其進行解析。這個數據有一些結構,所以我可以知道數據是否已經完成,或者它是否是有效的數據,但是我擔心其他數據會與其他數據重疊,當我呼叫readAll()
,並且因此會使這個假設 - 是有效的數據。
如果可能發生,我該如何預防/控制它?或者是OS/API所擔心的呢?我擔心的部分原因是該方法如何被調用。洛爾
8個月18個問題** 0票**。移動。 – cnicutar 2012-03-30 06:13:42
如果'readAll'破壞了它自己的緩衝區(你所描述的),那麼它就沒用了。 – Mat 2012-03-30 06:15:59
我不確定這是什麼意思有一個損壞的緩衝區。我看到它的方式,它只是一個連續的內存線,隨着數據的進入而填滿。 – lightburst 2012-03-30 06:33:15