如果我一直向接收方发送数据,那么发送的数据可能会重叠,使得它们在缓冲区中累积,因此下一次读取缓冲区时也会读取另一个已发送数据的数据?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