NetDetailForm.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. }
  61. }
  62. if (!isUpdate)
  63. {
  64. DgProcessDetail.Rows.Add(new object[] {
  65. p.ProcessIcon,p.ProcessName,
  66. ByteConvertTool.Fmt(p.DownloadData),ByteConvertTool.Fmt(p.UploadData),
  67. ByteConvertTool.Fmt(p.DownloadDataCount),ByteConvertTool.Fmt(p.UploadDataCount),
  68. p.DownloadBagCount});
  69. }
  70. });
  71. }
  72. }));
  73. }
  74. }
  75. }