我正在使用C++编写TCP客户端服务器应用程序。现在第三方lib在此项目中被允许。在recv()api中填充的数据
这里的客户端服务器之间交换使用需要以及format.once客户端接收数据包定义协议,它将发送它parsing.I具有将于解析活动的护理方案经理。
我有以下疑问 当数据从网络到达客户端时,OS将其缓存直到应用程序调用recv()函数。
所以两个消息MSG1和MSG2到达缓冲区的recv的调用将返回MSG 1 + MSG2。现在这可能导致解析活动失败。
我的查询 1.上述假设是否正确与否? 2.如果上面提到的假设是正确的,那么如何解决这个问题。
正如我们在TCP的工作,PLZ给我们的解决方案,以发现我们是包的数量接收使用recv()API。同样,客户端总是会得到完整的响应,或者有可能获得一半的响应,另一半则保持另一种类型(例如:取决于我们为recv()API定义的缓冲区) – Revathy 2012-03-29 07:53:14
完全可以给半个数据包--TCP假定您想要传输单个数据流。该数据的任何结构都需要来自协议(记录结构,长度字段或转义字符)。你在执行什么协议? – 2012-03-29 08:11:31
TCP/IP协议 – Revathy 2012-03-29 10:06:15