Statistics.cs

This example demonstrates how to use PacketX to collect statistics from C#.
See also:
PacketX , Statistics , Adapter
// File:         Statistics.js
//
// Description:  This script demonstrates how to collect statistics
//
// Notes:        tlbimp PacketX.dll && csc /R:PacketXLib.dll Statistics.cs
//
// Created:      May 10, 2004
//
// Copyright (c) 2000-2004 BeeSync Technologies.

using System;
using PacketXLib;

namespace Statistics
{
  class Test 
  {
    [MTAThread]
    static void Main(string[] args)
    {
      PacketXClass oPktX = new PacketXClass();
      oPktX.OnStatistics += new _IPktXPacketXEvents_OnStatisticsEventHandler(PacketX_OnStatistics);
      
      // Display network adapters
      AdapterCollection oAdapters = (AdapterCollection)oPktX.Adapters;
      for (int i = 0; i < oAdapters.Count ; i++) 
      {
        if (Convert.ToBoolean(oAdapters[i+1].IsGood)) 
          Console.WriteLine("(" + (i+1) + ") " + oAdapters[i+1].Description);
      }
      // Select network adapter
      oPktX.Adapter = null;
      while (oPktX.Adapter == null)
      {
        Console.Write("Choose adapter#");
        try 
        { 
          int nSelected = Convert.ToInt16(Console.ReadLine().Trim(),10);
          oPktX.Adapter = oAdapters[nSelected];
        }
        catch (System.Exception)
        {
          Console.WriteLine("Invalid adapter number.");
        }
      }
      // Set statistics mode 
      Adapter oAdapter = (Adapter)oPktX.Adapter;
      oAdapter.Mode = PacketXLib.PktXMode.PktXModeStatistics;
      oAdapter.ReadTimeout = 2000; // 2 sec

      // Start capture
      oPktX.Start();
      System.Threading.Thread.Sleep(60000);                 
      oPktX.Stop();
    }

    // OnStatistics event handler.
    static void PacketX_OnStatistics(PacketXLib.Statistics aStats)
    {
      Console.WriteLine(aStats.Date + " Pkts " + aStats.Packets + " Bytes " + aStats.Bytes);
    }
  }
}


Copyright © 2000-2007 beeSync. All rights reserved.