Semerkin Asked:2020-05-21 02:13:14 +0000 UTC2020-05-21 02:13:14 +0000 UTC 2020-05-21 02:13:14 +0000 UTC 组织网络交互应用层的细微差别 772 我正在编写具有客户端-服务器架构的自行车。问题出现了如何实现识别数据包结尾的算法。我通过xml文档进行了交换,并以Boyer Moore Horspool的算法的形式制作了识别数据包结尾的算法。在我心里,我明白这是一个特定的拐杖。实现此算法的最佳方法是什么? c++ 1 个回答 Voted Best Answer F10PPY 2020-05-21T04:42:12Z2020-05-21T04:42:12Z 评论里好像有答案,我补充一下,可以通过结尾的存在来检查消息的结尾,例如http中的“\r\n\r\n”,但是在同时,有些东西可能会丢失而你不会知道。一般来说,您所说的“包”、tcp 包或您在 send 中输入的内容是什么意思?因此,最好在消息的开头插入它的长度,并在每个 recv 之后的循环中检查是否所有内容都已到达。然而,这并不能保证消息的完整性;为此,可以传输消息的散列,例如,在最后。
评论里好像有答案,我补充一下,可以通过结尾的存在来检查消息的结尾,例如http中的“\r\n\r\n”,但是在同时,有些东西可能会丢失而你不会知道。一般来说,您所说的“包”、tcp 包或您在 send 中输入的内容是什么意思?因此,最好在消息的开头插入它的长度,并在每个 recv 之后的循环中检查是否所有内容都已到达。然而,这并不能保证消息的完整性;为此,可以传输消息的散列,例如,在最后。