应用层能获得 TCP 连接的丢包率吗?

2015-07-25 14:28:49 +08:00
 gamexg

延迟可以通过统计 TCP 建立的时间来获得,但是丢包率怎么获得?
除了不断地 tcpping 之外还有其他办法吗?

4383 次点击
所在节点    编程
5 条回复
est
2015-07-25 16:25:13 +08:00
可以,但是不怎么跨平台。getsockopt 可以得到 SOCK_INFO 。解析这个结构体可以得到

tcpi_lost丢包数,tcpi_retrans重传数。


windows, linux, os x下都不怎么一样。。。。。。。。。。。。ios用的是bsd的。
gamexg
2015-07-25 17:18:54 +08:00
@est 非常感谢,研究下。
Septembers
2015-07-25 18:11:25 +08:00
@est 人肉wiki?
est
2015-07-25 18:33:09 +08:00
@Septembers 恰好做过而已。
est
2015-07-25 18:35:18 +08:00
打错了。是getsockopt 得到 TCP_INFO。不是SOCK_INFO

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/208252

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX