NetDetailForm.cs 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using Oreo.PCMonitor.Commons;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Linq;
  6. using System.Net;
  7. using System.Threading;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using Y.Utils.DataUtils.Collections;
  11. using Y.Utils.DataUtils.UnitConvertUtils;
  12. namespace Oreo.PCMonitor.Views
  13. {
  14. public partial class NetDetailForm : Form
  15. {
  16. public NetDetailForm()
  17. {
  18. InitializeComponent();
  19. }
  20. private void NetDetailForm_Load(object sender, EventArgs e)
  21. {
  22. Task.Factory.StartNew(() =>
  23. {
  24. Thread.Sleep(3000);
  25. while (true)
  26. {
  27. if (R.NFS.IsNetFlowRun || R.NFS.IsNetPacketRun)
  28. {
  29. //R.Log.v("IsNetFlowRun: " + R.NFS.IsNetFlowRun + " IsNetPacketRun: " + R.NFS.IsNetPacketRun +
  30. // " Upload: " + R.NFS.NetFlow.UploadData + " Download: " + R.NFS.NetFlow.DownloadData);
  31. UIDgProcessDetailUpdate();
  32. }
  33. Thread.Sleep(1000);
  34. }
  35. });
  36. }
  37. private void UIDgProcessDetailUpdate()
  38. {
  39. if (IsDisposed) return;
  40. BeginInvoke(new Action(() =>
  41. {
  42. if (R.NFS != null && ListTool.HasElements(R.NFS.NetProcessInfoList))
  43. {
  44. label1.Text = "丢包数:" + R.NFS.LostPacketCount;
  45. label2.Text = "下载:" + ByteConvertTool.Fmt(R.NFS.NetFlow.DownloadData) +
  46. " 上传:" + ByteConvertTool.Fmt(R.NFS.NetFlow.UploadData);
  47. R.NFS.NetProcessInfoList.ForEach(p =>
  48. {
  49. bool isUpdate = false;
  50. foreach (DataGridViewRow r in DgProcessDetail.Rows)
  51. {
  52. if (r.Cells["CoName"].Value.ToString() == p.ProcessName)
  53. {
  54. isUpdate = true;
  55. r.Cells["CoDownload"].Value = ByteConvertTool.Fmt(p.DownloadData);
  56. r.Cells["CoUpload"].Value = ByteConvertTool.Fmt(p.UploadData);
  57. r.Cells["CoDownloadCount"].Value = ByteConvertTool.Fmt(p.DownloadDataCount);
  58. r.Cells["CoUploadCount"].Value = ByteConvertTool.Fmt(p.UploadDataCount);
  59. //r.Cells["CoConnectionCount"].Value = p.ConnectCount;
  60. r.Cells["CoConnectionCount"].Value = p.DownloadBagCount;
  61. }
  62. }
  63. if (!isUpdate)
  64. {
  65. DgProcessDetail.Rows.Add(new object[] {
  66. p.ProcessIcon,p.ProcessName,
  67. ByteConvertTool.Fmt(p.DownloadData),ByteConvertTool.Fmt(p.UploadData),
  68. ByteConvertTool.Fmt(p.DownloadDataCount),ByteConvertTool.Fmt(p.UploadDataCount),
  69. p.ConnectCount});
  70. }
  71. });
  72. }
  73. }));
  74. }
  75. }
  76. }