V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gamexg
V2EX  ›  编程

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

  •  
  •   gamexg · 2015-07-25 14:28:49 +08:00 · 4390 次点击
    这是一个创建于 3409 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    5 条回复    2015-07-25 18:35:18 +08:00
    est
        1
    est  
       2015-07-25 16:25:13 +08:00   ❤️ 4
    可以,但是不怎么跨平台。getsockopt 可以得到 SOCK_INFO 。解析这个结构体可以得到

    tcpi_lost丢包数,tcpi_retrans重传数。


    windows, linux, os x下都不怎么一样。。。。。。。。。。。。ios用的是bsd的。
    gamexg
        2
    gamexg  
    OP
       2015-07-25 17:18:54 +08:00
    @est 非常感谢,研究下。
    Septembers
        3
    Septembers  
       2015-07-25 18:11:25 +08:00
    @est 人肉wiki?
    est
        4
    est  
       2015-07-25 18:33:09 +08:00
    @Septembers 恰好做过而已。
    est
        5
    est  
       2015-07-25 18:35:18 +08:00   ❤️ 2
    打错了。是getsockopt 得到 TCP_INFO。不是SOCK_INFO
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2782 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:57 · PVG 20:57 · LAX 04:57 · JFK 07:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.