void SetNetProcessConnection(int pid) { try { Process p = NowProcess.FirstOrDefault(x => x.Id == pid); if (p != null) { var ppl = NetProcessInfoList.FirstOrDefault(x => x.ProcessName == p.ProcessName); if (ppl == null) { NetProcessInfoList.Add( new NetProcessInfo() { ProcessIcon = ProcessInfoTool.GetIcon(p, false), ProcessName = p.ProcessName, ConnectCount = 1, LastUpdateTime = DateTime.Now, }); } else { ppl.ConnectCount++; ppl.LastUpdateTime = DateTime.Now; } } } catch (Exception e) { R.Log.e("对程序列表和网络连接列表整理时发生错误"); R.Log.e(e.Message); } }
private void SetNetProcessConnection(NetProcessTool.TcpRow t) { try { var p = NowProcess.FirstOrDefault(x => x.Id == t.ProcessId); if (p != null) { var ppl = NetProcessInfoList.FirstOrDefault(x => x.ProcessName == p.ProcessName); if (ppl == null) { NetProcessInfoList.Add( new NetProcessInfo { ProcessId = p.Id, ProcessIcon = ProcessInfoTool.GetIcon(p, false), ProcessName = p.ProcessName, LastUpdateTime = DateTime.Now, NetConnectionInfoList = new ThreadSafeCollection <NetConnectionInfo> { new NetConnectionInfo { LocalIP = t.LocalIP.ToString(), LocalPort = t.LocalPort, RemoteIP = t.RemoteIP.ToString(), RemotePort = t.RemotePort, ProtocolName = @"TCP", Status = t.State, LastUpdateTime = DateTime.Now, } }, }); } else { ppl.LastUpdateTime = DateTime.Now; var conn = ppl.NetConnectionInfoList.FirstOrDefault(x => x.LocalIP == t.LocalIP.ToString() && x.LocalPort == t.LocalPort && x.RemoteIP == t.RemoteIP.ToString() && x.RemotePort == t.RemotePort); if (conn == null) { ppl.NetConnectionInfoList.Add(new NetConnectionInfo { LocalIP = t.LocalIP.ToString(), LocalPort = t.LocalPort, RemoteIP = t.RemoteIP.ToString(), RemotePort = t.RemotePort, ProtocolName = @"TCP", Status = t.State, LastUpdateTime = DateTime.Now, }); } } } } catch (Exception) { // ignored } }
/// <summary> /// 整理TCP连接到所属的进程 /// </summary> /// <param name="t"></param> void SetNetProcessConnection(TcpRow t) { try { Process p = NowProcess.FirstOrDefault(x => x.Id == t.ProcessId); if (p != null) { var ppl = _NetProcessInfoList.FirstOrDefault(x => x.ProcessName == p.ProcessName); if (ppl == null) { _NetProcessInfoList.Add( new NetProcessInfo() { ProcessId = p.Id, ProcessIcon = ProcessInfoTool.GetIcon(p, false), ProcessName = p.ProcessName, LastUpdateTime = DateTime.Now, NetConnectionInfoList = new List <NetConnectionInfo>() { new NetConnectionInfo() { LocalIP = t.LocalIP.ToString(), LocalPort = t.LocalPort, RemoteIP = t.RemoteIP.ToString(), RemotePort = t.RemotePort, ProtocolName = "TCP", Status = t.State, LastUpdateTime = DateTime.Now, } }, }); } else { ppl.LastUpdateTime = DateTime.Now; var conn = ppl.NetConnectionInfoList.FirstOrDefault(x => x.LocalIP == t.LocalIP.ToString() && x.LocalPort == t.LocalPort && x.RemoteIP == t.RemoteIP.ToString() && x.RemotePort == t.RemotePort); if (conn == null) { ppl.NetConnectionInfoList.Add(new NetConnectionInfo() { LocalIP = t.LocalIP.ToString(), LocalPort = t.LocalPort, RemoteIP = t.RemoteIP.ToString(), RemotePort = t.RemotePort, ProtocolName = "TCP", Status = t.State, LastUpdateTime = DateTime.Now, }); } } } } catch (Exception e) { } }