我們如何計算所有網絡或在android中計算特定的網絡包丟失?如何在android中計算丟包?
回答
對於TCP,可能有可能獲取Linux級別的值,但不能在Java/Android級別獲取值。
對於UDP,這是不可能的,因爲沒有可用於檢測數據包丟失的數據。如果你想計算UDP層面上的數據丟失,你必須實現你自己的基於UDP的協議,並且包括例如數據包計數器。但是,這將允許您僅爲自己的協議計算數據包丟失,而不是在一般水平上。
爲了擴展Robert的回答,UDP是一個數據報盡力而爲的傳送協議,沒有任何會話,按序傳送或錯誤檢測的概念。如果你想檢測錯誤,你可能會實現很多TCP(至少,序列號,校驗和和確認)。
幸運的是,對於TCP,內核跟蹤詳細的統計數據。標準ip
實用程序應該在這裏有所幫助。在我的SGS2上,該實用程序是完整的,並不像ifconfig
那樣減少。
用法示例:
[email protected]:/etC# ip -s -s link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
RX: bytes packets errors dropped overrun mcast
23692 410 0 0 0 0
RX errors: length crc frame fifo missed
0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
23692 410 0 0 0 0
TX errors: aborted fifo window heartbeat
0 0 0 0
2: gannet0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1000 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 72:e0:e5:0a:dc:d6 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
RX errors: length crc frame fifo missed
0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
TX errors: aborted fifo window heartbeat
0 0 0 0
3: sit0: <NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN
link/sit 0.0.0.0 brd 0.0.0.0
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
RX errors: length crc frame fifo missed
0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 59 0 0 0
TX errors: aborted fifo window heartbeat
0 0 0 0
4: ip6tnl0: <NOARP,UP,LOWER_UP> mtu 1452 qdisc noqueue state UNKNOWN
link/tunnel6 :: brd ::
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
RX errors: length crc frame fifo missed
0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 62 62 0 0
TX errors: aborted fifo window heartbeat
0 0 0 0
5: rmnet0: <POINTOPOINT,MULTICAST,NOARP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ppp
RX: bytes packets errors dropped overrun mcast
1410177 2037 0 0 0 0
RX errors: length crc frame fifo missed
0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
199870 1831 0 0 0 0
TX errors: aborted fifo window heartbeat
0 0 0 0
6: rmnet1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ppp
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
RX errors: length crc frame fifo missed
0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
TX errors: aborted fifo window heartbeat
0 0 0 0
7: rmnet2: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ppp
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
RX errors: length crc frame fifo missed
0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
TX errors: aborted fifo window heartbeat
0 0 0 0
我的手機紮根但是這絕對不是一個要求。
如果我想在我的android應用程序中使用這些信息?有沒有辦法做到這一點? –
是的,有。您可以運行'ip'實用程序,捕獲輸出並從中解析出您需要的內容。跨設備做會很痛苦(鏈接名稱改變,'ip'實用程序本身不是Android的一部分),但它看起來可能。 – Delyan
- 1. 如何用scapy計算丟包率?
- 2. Flex中的數據包丟失計算
- 3. 計算libpcap的丟包情況
- 4. 如何在計算中包含小數
- 5. 如何計算可丟棄區域中的丟棄項目jquery
- 6. 如何在android中計算時間?
- 7. 如何在Android中計算WebView高度?
- 8. 如何在android中計算百分比
- 9. 如何在一個android計算器中計算結果
- 10. 如何計算文件傳輸中的數據包丟失數量?
- 11. Android:如何計算dp?
- 12. 如何計算android屏幕?
- 13. android如何計算MAGNETIC_FIELD,?
- 14. 如何恢復藍牙包丟失? Android
- 15. 如何計算Android中的時間
- 16. 如何計算Android中的EditText值?
- 17. Excel計算丟失率
- 18. 如何使用libiptc在C++中丟包?
- 19. 如何計算在GridView中
- 20. 如何計算在Java中
- 21. 如何在Excel中計算
- 22. 如何計算在Android中包含特定高度的TextView的行高?
- 23. msvcr100d.dll從計算機中丟失
- 24. opencv_core244d.dll似乎從計算機中丟失
- 25. 如何計算一個行如果它包含1在Excel中
- 26. 如何通過IP連接計算視頻的丟包,抖動和QoS參數?
- 27. Android如何計算網絡使用數據包/數據
- 28. 如何在計時器中計算所計算的時間?
- 29. Sequelize包含在數據庫中計算的計算字段嗎?
- 30. VOIP如何計算RTP包延遲
對於TCP或UDP連接? – Robert
對於兩者,有沒有任何API? –