检查数据是否正常到达
Check if data arrived OK
我使用boost::asio(tcp)从一台电脑向另一台电脑发送和接收固定大小(100字节)的数据。在不影响性能的情况下,检查是否一切正常的最佳方法是什么
一个想法是保存第一个和最后一个角色,并将它们放在第一位,因此:"你好,我…战斗到底"将变成"hd你好,我的…战斗到底。"。最终字符串为102个字符,接收器也可以执行大小检查
另一个想法是使用哈希,但我想这对cpu来说会非常紧张
你们有什么好主意吗?
注意:请记住:我将使用此方法数百万次,每微秒都很重要。数据是用空格分隔的单词。
TCP被设计为一种可靠的传输协议。既然您说您使用的是TCP,您就可以简单地假设,若数据到达并且是完整长度的,那个么它就正确到达了。
如果你担心数据在传输中被破坏,超出了TCP的16位校验和所能检测到的范围,你可以在数据末尾添加一个32位CRC。
相关文章:
- 检查输入 std::array 指针数据是否等于某个常量数组
- 从 std::string 到 std::array<char,size> 的 memcopy 额外数据是否是一种未定义的行为?
- 修改数据是否由 const shared_ptr&Ok 传递?
- 直接向工会而不是其特定成员之一发送memcpy数据是否安全
- TCP在客户端服务器之间传输时,数据是否有任何限制
- 从其后声明的另一个成员数据初始化成员数据是否为未定义行为
- C 文本写入随机数据.是否有缓冲区溢出
- C 检查数据是否已指定字符串
- 如何检查链表中的数据是否存在C++
- 使用无锁指针队列在线程之间移动数据是否安全
- C++ 检查数据是否相等
- C++,如何验证输入的数据是否为正确的数据类型
- visual C++-传递给线程的数据是否应该是易失性的
- 检查数据是否正常到达
- UDP 套接字.如何确定数据是否发送到有线
- 有没有办法检查外部数据是否通过管道传输到程序或程序是否自行运行
- 在代码中使用大量常量数据是否是一种不好的做法
- 数据是否在放置新分配的内存中对齐
- 缓冲区中的TCP数据是否可以重叠
- 如何检查数据是否插入剪贴板是从PrintScreen