【Fargo】2:发送侧流量统计
- 要对 send_packet 发送的 UDP 数据包进行统计,我们需要计算两种流量:
业务流量:这是实际的数据负载大小(不包括UDP协议的开销),即 Packet 结构中的有效载荷部分。
总流量:这是包括UDP协议开销的数据量。UDP的协议头通常为 8 字节,加上 IP 协议头的开销(IPv4 头部为 20 字节,IPv6 为 40 字节)。
此外,还需要计算每秒的码率,可以基于字节数来计算。
实现思路
业务流量:每次发送的 payload 字段的大小。
总流量:每次发送的数据包大小(sizeof(Packet))加上UDP协议和IP协议的开销。
码率:可以通过每秒发送的字节数转换为比特率,计算如下:
- 我们可以通过增加成员变量来跟踪流量统计,并在定时器回调函数中每次发送数据时更新统计信息。