我試圖獲得最低級別的字節計數可能與URLConnection。我已經去計算兩條數據流的傳遞數據,其中來自Apache Commons IO的CountingInputStream和CountingOutputStream,但是我得到的字節數等於我發送的正文大小+我收到的響應正文大小。URLConnection低級別字節計數
在HttpClient中,我有一個MeasuringClientConnManager與我認爲是一個更低級的字節計數。
爲了獲得最準確的價值,我比較與那些方法這些庫中的計數,使用TrafficStats:
public static long getCurrentRx(Context context){
int uid = context.getApplicationInfo().uid;
return TrafficStats.getUidRxBytes(uid);
}
public static long getCurrentTx(Context context){
int uid = context.getApplicationInfo().uid;
return TrafficStats.getUidTxBytes(uid);
}
public static long getCurrentNetworkUsage(Context context){
return getCurrentRx(context) + getCurrentTx(context);
}
public static long getDiffNetworkUsage(Context context, long previousNetworkUsage){
return getCurrentNetworkUsage(context) - previousNetworkUsage;
}
使用這些方法我獲得更接近值隨HttpClient的比的URLConnection。
兩個問題:
爲什麼上URLConnection的,我不上的OutputStream看到一些字節大小指示的頭被髮送?我怎麼只看到身體的大小?標題在哪裏?該網址的電話? DNS解析字節?
有沒有辦法測量對URLConnection庫的調用在網絡接口上發送的每個字節?最低級別越好越好!