【发布时间】:2015-02-27 03:35:39
【问题描述】:
我正在编写一个数据显示程序,通过串行端口接收数据。监听器是别人写的,比较复杂。现在我需要将接收到的数据传输到另一个程序/PC。所以我正在考虑来自 Qt 的标准 tcp 通信。 tcp 类中是否有任何类可以像校验和一样工作? 如果我每次都以高频率传输 10 个双精度数组。我如何编写一个正确接收所有数据的客户端,而不编写那些复杂的算法来检查接收到的数据字节的有效性?
【问题讨论】:
-
TCP/IP 中内置了完整性检查。 TCP 保证数据(如果被接收)是完整且有序的。
-
所以我每次只读10个双打?但这是否意味着一旦数据以某种方式转移(例如,如果套接字中还有一些数据),我将永远无法再正确了吗?
-
我不确定我是否完全掌握了困难的本质。你是什么意思“转移”?转移方式、地点和人员?
-
AFAIK,tcp 将数据流切成数据包?那么,我只是连续接收所有数据包并每 8*10 字节(10 双)解码一次?我是套接字编程的新手,仍然对教科书的说法感到困惑......