【问题标题】:TCP socket data consumptionTCP socket 数据消耗
【发布时间】:2015-04-01 07:39:31
【问题描述】:

我每 5 秒从我的 TCP 套接字向我的服务器发送数据。以这种发送消息的速度,一个小时会消耗多少数据。

每次都会打开一个套接字并将数据从客户端泵出到服务器。我在客户端使用 3G GSM 调制解调器。

我的消息是,ID1$Socket$Open$timestamp。都是字符串

【问题讨论】:

  • 在您告诉我们您每 5 秒发送多少数据之前无法回答。
  • @nos 我的消息是,ID1$Socket$Open$timestamp。都是字符串

标签: sockets tcp tcpclient consumption


【解决方案1】:

ID1$Socket$Open$timestamp 是 25 个字节,假设是 8 位字符串,并且假设您没有在消息之间发送任何其他数据(标题/分隔符等)。

因此,每 5 秒发送 1 条消息是每分钟 60 / 5 = 12 条消息,也就是每小时 12 * 60 = 720 条消息。每条消息 25 个字节,即每小时 720 * 25 = 18000 个字节(加上 TCP/IP 标头和每条消息的帧以及每个 TCP 帧的 ACK 的开销)。

【讨论】:

  • 某处有一篇论文显示 TCP 的最大带宽利用率为 83% 或 87%,我忘记了,其余的是标头,可能还有 ACK。
  • 仅 TCP 并不能提供足够的信息来计算。现在,如果您说 TCP/IP over 10baseT,那么您有一个最大 1500 字节的 MTU,最少 20 个字节的 TCP 和 IP 标头,因此 1460 个有效负载字节。然后以太网添加一个 14 字节的标头、一个 4 字节的 CRC、7 字节的前导码和 1 字节的帧开始。还有一个 12 字节的帧间间隙。因此,假设没有休息,你有 1460/1538 == 94.9%。 ACK 不占用额外空间,带宽通常是双向的。其他网络技术具有不同的帧和不同的 MTU,从而改变了最大效率。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-17
  • 1970-01-01
  • 2016-12-22
  • 1970-01-01
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
相关资源
最近更新 更多