C#的TCPClient怎样获取接收到的数据长度

2024年11月08日 19:52
有1个网友回答
网友(1):

这是你的应用程序读取一个逻辑数据包的长度(注意跟tcp数据包长度没有直接关系)。

由于tcp是会自动分包、粘包的,因此你执行了一次 Receive 只后,得到的可能只是不分数据(即使是数据大小小于缓冲区大小也是一样),因此不能胡乱地用这个数据作为全部“就收数据”!你必须反复执行 Receive,知道你确定接收到数据结束标志为止,这时候才能说“接收数据......”这种判断。