卡卷网
当前位置:卡卷网 / 每日看点 / 正文

WebSocket就连着不发送数据,一天下来会耗服务器流量吗?耗多少?

作者:卡卷网发布时间:2025-01-17 00:31浏览数量:73次评论数量:0次

websocket一个数据帧最小为16位,两个字节。

如果心跳包不携带任何数据,每一分钟一个心跳,那么一小时是120字节,一天就是120*24=2880字节。大约3kB的流量。

以上为原来的回答


经过评论区各位同学的提醒,在原版的基础作如下优化:

由于websocket属于应用层协议 ,一个心跳包会经过传输层、IP层、链路层、物理层的封装,每一层都会带上各自的包头:

TCP层 :最小20字节

IP层: ipv4 最小20字节,ipv6 最小40字节,这里假设是ipv4

链路层 LLC头 :最小3字节

物理层 以太帧头:最小14字节。

由于以太帧存在最小帧的机制,一般为64字节,减去14字节的以太帧头与4字节的FCS,也就是以太帧中payload的(从链路层到应用层)总的长度,不小于46字节

而物理层以上各层最小数据包: 2 + 20 + 20 + 3 < 46 ,将会在物理层补齐46字节 ,因此,一次websocket的心跳包最长为一个最小的以太帧: 64 字节

每分钟一次心跳,一天总流量约等于:

24 * 60 * 64 ≈ 92160 字节 ≈ 90KB

如果算上服务端的响应包:92160 * 2 ≈ 184320 字节 ≈ 180KB

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码