Statistics.cs

This example demonstrates how to use PacketX to collect statistics from C#.
See also:
PacketX , Statistics , Adapter
00001 
00002 // File:         Statistics.js
00003 //
00004 // Description:  This script demonstrates how to collect statistics
00005 //
00006 // Notes:        tlbimp PacketX.dll && csc /R:PacketXLib.dll Statistics.cs
00007 //
00008 // Created:      May 10, 2004
00009 //
00010 // Copyright (c) 2000-2004 BeeSync Technologies.
00012 
00013 using System;
00014 using PacketXLib;
00015 
00016 namespace Statistics
00017 {
00018   class Test 
00019   {
00021     [MTAThread]
00022     static void Main(string[] args)
00023     {
00025       PacketXClass oPktX = new PacketXClass();
00026       oPktX.OnStatistics += new _IPktXPacketXEvents_OnStatisticsEventHandler(PacketX_OnStatistics);
00027       
00028       // Display network adapters
00029       AdapterCollection oAdapters = (AdapterCollection)oPktX.Adapters;
00030       for (int i = 0; i < oAdapters.Count ; i++) 
00031       {
00032         if (Convert.ToBoolean(oAdapters[i+1].IsGood)) 
00033           Console.WriteLine("(" + (i+1) + ") " + oAdapters[i+1].Description);
00034       }
00035       // Select network adapter
00036       oPktX.Adapter = null;
00037       while (oPktX.Adapter == null)
00038       {
00039         Console.Write("Choose adapter#");
00040         try 
00041         { 
00042           int nSelected = Convert.ToInt16(Console.ReadLine().Trim(),10);
00043           oPktX.Adapter = oAdapters[nSelected];
00044         }
00045         catch (System.Exception)
00046         {
00047           Console.WriteLine("Invalid adapter number.");
00048         }
00049       }
00050       // Set statistics mode 
00051       Adapter oAdapter = (Adapter)oPktX.Adapter;
00052       oAdapter.Mode = PacketXLib.PktXMode.PktXModeStatistics;
00053       oAdapter.ReadTimeout = 2000; // 2 sec
00054 
00055       // Start capture
00056       oPktX.Start();
00057       System.Threading.Thread.Sleep(60000);                 
00058       oPktX.Stop();
00059     }
00060 
00061     // OnStatistics event handler.
00062     static void PacketX_OnStatistics(PacketXLib.Statistics aStats)
00063     {
00064       Console.WriteLine(aStats.Date + " Pkts " + aStats.Packets + " Bytes " + aStats.Bytes);
00065     }
00066   }
00067 }
00068 

Copyright © 2000-2007 beeSync. All rights reserved.