Networking 使用TCP或UDP获取实时传感器信息是否更有效

Networking 使用TCP或UDP获取实时传感器信息是否更有效,networking,tcp,udp,sensors,ethernet,Networking,Tcp,Udp,Sensors,Ethernet,我正在从事一个项目,该项目要求从多个嵌入式设备获取传感器信息,以便主机可以使用。主节点当前具有包含每个传感器的支持字段的类。在每个传感器上连续读取数据,然后写入一个数据包并发送到主机,以更新该传感器的备份字段。我对TCP/UDP几乎没有经验,所以我不确定哪种协议更适合这种设置 我目前正在使用TCP传输数据,因为我担心我们的旋转编码器上的数据接收出现故障。由于我在这方面的经验有限,我不确定这是否是一个合理的担忧 有这方面经验的人知道我为什么会选择一种方法而不是另一种方法吗?我不是专家,但似乎这可能

我正在从事一个项目,该项目要求从多个嵌入式设备获取传感器信息,以便主机可以使用。主节点当前具有包含每个传感器的支持字段的类。在每个传感器上连续读取数据,然后写入一个数据包并发送到主机,以更新该传感器的备份字段。我对TCP/UDP几乎没有经验,所以我不确定哪种协议更适合这种设置

我目前正在使用TCP传输数据,因为我担心我们的旋转编码器上的数据接收出现故障。由于我在这方面的经验有限,我不确定这是否是一个合理的担忧


有这方面经验的人知道我为什么会选择一种方法而不是另一种方法吗?

我不是专家,但似乎这可能是相关的:

你能避免丢失数据吗

如果是,请使用TCP。错误恢复是自动的

如果没有,请使用UDP。丢失的数据包不会重新发送。我也相信在这里订购并不能保证

  • 你有多在乎知道一个包裹已经送到了
  • 你有多在乎知道一个送出的包裹是100%正确的
  • 你有多在乎包裹递送的顺序
  • 您对当前连接的对等方有多关心
如果答案是“我很关心”,那么您更愿意继续使用TCP,因为它确保了所有四点

与之相对应的是,如果您管理小数据包,UDP可以更轻量级,处理速度更快

不管怎样,选择这个或那个并不容易。试试看


阅读以下简要说明:

它的实时性如何?TCP重新传输可能意味着您得到旧值(而不是UDP中的无值),这是需要的。主PC上的值应代表传感器检测到的当前值。