处理TCP数据时会发生什么

问题描述

我正在使用POSIX OS(vxWorks),并且想了解如何处理TCP数据。我了解UDP中的所有内容完全取决于您,TCP的底层管理更多。

假设我连接的远程套接字答应向我发送JSON数据。该文档只是说,一旦建立,我们将向您发送JSON数据。

在TCP套接字上使用函数recv,并假设我为其提供了一个超大大小的缓冲区,我应该期望即使消息可能以多个块发送,我也将始终获得完美组装的JSON数据。在接口层上,还是我本质上需要解析接收到的每个数据缓冲区,直到我认为自己拥有完整的JSON消息?

解决方法

TCP不了解应用程序消息。如果您的协议有一个协议,则需要实现位于TCP之上的协议以查找消息边界。