【问题标题】:Is it more effective to obtain real-time sensor information using TCP or UDP使用 TCP 或 UDP 获取实时传感器信息更有效吗
【发布时间】:2013-01-09 15:13:42
【问题描述】:

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

我目前正在使用 TCP 传输数据,因为我担心我们的旋转编码器上的数据被乱序接收。由于我对这个主题的经验有限,我不确定这是否是一个有效的问题。

在这方面有经验的人是否知道我应该选择一种方法而不是另一种方法的任何原因?

【问题讨论】:

  • 实时性如何? TCP 重传可能意味着你得到旧值(而不是 UDP 没有值)
  • 需要瞬时。主 PC 上的值应该代表传感器正在检测的当前值。

标签: networking tcp udp sensors ethernet


【解决方案1】:
  • 您有多在意知道数据包已送达?
  • 您有多在乎是否知道交付的数据包是 100% 正确的?
  • 您有多在意数据包的发送顺序?
  • 您对当前连接的对等点有多关心?

如果答案是“我很在乎”,您更愿意继续使用 TCP,因为它可以确保所有四点。

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

无论如何,选择这个或那个并不容易。试试看吧。

并阅读此简短说明:http://www.cyberciti.biz/faq/key-differences-between-tcp-and-udp-protocols/

【讨论】:

    【解决方案2】:

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

    你能解决丢失数据的问题吗?

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      相关资源
      最近更新 更多