private string GetStatus(NetworkPerformanceData perfData, out bool online) { string status = string.Empty; if (perfData.BytesSent == 0 && perfData.BytesReceived == 0) { status = "掉线了"; online = false; } else if (perfData.BytesSent < 10 && perfData.BytesReceived < 30) { status = "安全区"; online = true; } else { status = "战斗中"; online = true; } status += " "; return(status); }
public IDictionary <int, NetworkPerformanceData> GetNetworkPerformanceData() { Dictionary <int, NetworkPerformanceData> perfDataDic = new Dictionary <int, NetworkPerformanceData>(); var timeDifferenceInSeconds = (DateTime.Now - m_EtwStartTime).TotalSeconds; lock (counterLock) { foreach (var counters in m_CountersDic) { NetworkPerformanceData networkData = new NetworkPerformanceData { BytesReceived = Convert.ToInt64(counters.Value.Received / timeDifferenceInSeconds), BytesSent = Convert.ToInt64(counters.Value.Sent / timeDifferenceInSeconds) }; perfDataDic.Add(counters.Key, networkData); } } // Reset the counters to get a fresh reading for next time this is called. ResetCounters(); return(perfDataDic); }