예제 #1
0
        public static void Stop()
        {
            try
            {
                if (SettingsManager.Firewall)
                {
                    Firewall.Stop();
                }

                if (SettingsManager.NIDS)
                {
                    NetworkMonitor.Stop();
                }

                if (SettingsManager.SystemMonitor)
                {
                    FileSystemMonitor.Stop();
                }

                if (SettingsManager.WebAgent)
                {
                    WebMonitor.Stop();
                }
                Protected = false;
                AntivirusState.SetProtection(false);
            }
            catch (Exception ex)
            {
                AntiCrash.LogException(ex);
            }
            finally
            {
            }
        }
예제 #2
0
        private void nsm_Load(object sender, EventArgs e)
        {
            cursorTimer.Start();
            try
            {
                int x = Screen.PrimaryScreen.WorkingArea.Right - this.Width;
                int y = Screen.PrimaryScreen.WorkingArea.Bottom - this.Height;
                Location = new Point(x, y);

                monitor  = new NetworkMonitor();
                adapters = monitor.Adapters;
                if (adapters.Length == 0)
                {
                    list.Enabled = false;
                    MessageBox.Show("No network adapters found on this computer.");
                    return;
                }

                list.Items.AddRange(adapters);
                list.SelectedIndex = Convert.ToInt16(Registry.CurrentUser.OpenSubKey("Software").OpenSubKey("KadirAydinli").GetValue("network"));
            }
            catch
            {
                register.CreateSubKey("KadirAydinli").SetValue("start", 1);
            }
        }
예제 #3
0
        private void FormMain_Load(object sender, System.EventArgs e)
        {
            monitor       = new NetworkMonitor();
            this.adapters = monitor.Adapters;

            if (adapters.Length == 0)
            {
                this.ListAdapters.Enabled = false;
                MessageBox.Show("No network adapters found on this computer.");
                return;
            }

            this.ListAdapters.Items.AddRange(this.adapters);

            object mainAdapter = null;;

            foreach (var item in this.ListAdapters.Items)
            {
                var adapter = item as NetworkAdapter;
                if (adapter.Name.Contains("Ethernet"))
                {
                    mainAdapter = item;
                    //Ethernet has precedence. break here if found.
                    break;
                }
                else if (adapter.Name.Contains("Wireless"))
                {
                    mainAdapter = item;
                }
            }
            if (mainAdapter != null)
            {
                this.ListAdapters.SelectedItem = mainAdapter;
            }
        }
예제 #4
0
        /// <summary>
        /// Initializes paths, static objects, check and load datafiles, etc.
        /// </summary>
        /// <remarks>May be called more than once without causing redundant operations to occur.</remarks>
        public static void Initialize()
        {
            if (s_initialized)
                return;

            s_initialized = true;

            Trace("begin");

            // Network monitoring (connection availability changes)
            NetworkMonitor.Initialize();

            //Set swagger global config
            Configuration.Default = new Configuration
            {
                BasePath = "https://esi.tech.ccp.is/",
                UserAgent = "EveMon - Development",
            };

            // APIMethods collection initialization (always before members instatiation)
            APIMethods.Initialize();

            // Members instantiations
            APIProviders = new GlobalAPIProviderCollection();
            MonitoredCharacters = new GlobalMonitoredCharacterCollection();
            CharacterIdentities = new GlobalCharacterIdentityCollection();
            Notifications = new GlobalNotificationCollection();
            Characters = new GlobalCharacterCollection();
            Datafiles = new GlobalDatafileCollection();
            APIKeys = new GlobalAPIKeyCollection();
            EVEServer = new EveServer();

            Trace("done");
        }
예제 #5
0
        /// <summary>
        /// Initializes paths, static objects, check and load datafiles, etc.
        /// </summary>
        /// <remarks>May be called more than once without causing redundant operations to occur.</remarks>
        public static void Initialize()
        {
            if (s_initialized)
            {
                return;
            }

            s_initialized = true;

            Trace("begin");

            // Network monitoring (connection availability changes)
            NetworkMonitor.Initialize();

            // ESIMethods collection initialization (always before members instatiation)
            ESIMethods.Initialize();

            // Members instantiations
            APIProviders        = new GlobalAPIProviderCollection();
            MonitoredCharacters = new GlobalMonitoredCharacterCollection();
            CharacterIdentities = new GlobalCharacterIdentityCollection();
            Notifications       = new GlobalNotificationCollection();
            Characters          = new GlobalCharacterCollection();
            Datafiles           = new GlobalDatafileCollection();
            ESIKeys             = new GlobalAPIKeyCollection();
            EVEServer           = new EveServer();

            Trace("done");
        }
예제 #6
0
        /// <summary>
        /// 网络速度测试
        /// </summary>
        public void MonitorNetSpeed()
        {
            Double.TryParse(XMLconfigReader.getValbyName(_configPath, CInternetSpeed1), out _InnerSpeed1);
            Double.TryParse(XMLconfigReader.getValbyName(_configPath, CInternetSpeed2), out _InnerSpeed2);

            _monitor = new NetworkMonitor();
            //_monitor.NetworkSpeedChange += new NetworkMonitor.NetworkAdapterRefreshHandle(monitor_NetworkSpeedChange);
            string strAdapter = GetActivatedAdapter();

            if (strAdapter != null && strAdapter != String.Empty)
            {
                strAdapter = strAdapter.Substring(strAdapter.IndexOf(')') + 1, strAdapter.Length - strAdapter.IndexOf(')') - 1);
                strAdapter.Trim();
            }
            foreach (NetworkAdapter adapter in _monitor.Adapters)
            {
                string temp = adapter.Name;
                temp = temp.Substring(temp.IndexOf(']') + 1, temp.Length - temp.IndexOf(']') - 1);
                temp.Trim();
                if (temp.Equals(strAdapter))
                {
                    _curAdapter = adapter;//得到当前的网络Adapter
                    _monitor.StopMonitoring();
                    _monitor.StartMonitoring(adapter);
                }
            }
        }
예제 #7
0
        private void GetNetworkUsage()
        {
            var monitor = new NetworkMonitor();

            NetworkAdapter[] adapters = monitor.Adapters;

            if (adapters.Length == 0)
            {
                throw new Exception("No network adapters found on this server");
            }

            monitor.StartMonitoring();

            for (int i = 0; i < 10; i++)
            {
                foreach (NetworkAdapter adapter in adapters)
                {
                    var down = adapter.DownloadSpeedKbps;
                    var up   = adapter.UploadSpeedKbps;

                    if (down > 0 || up > 0)
                    {
                        down = adapter.DownloadSpeedKbps;
                        up   = adapter.UploadSpeedKbps;

                        monitor.StopMonitoring();
                        Web.Write("{\"dl\": " + down + ", \"ul\": " + up + "}");
                        return;
                    }
                }

                System.Threading.Thread.Sleep(1000);
            }
        }
예제 #8
0
파일: ServerCenter.cs 프로젝트: ghrguse/ss
    //初始化网络组件
    public void InitNetComponent()
    {
        if (_netComponentInitted)
        {
            return;
        }

        Log.info(">> 初始化网络组件!");
        _netComponentInitted = true;


        //------------- 定义GameSvr连接 -----------
        //协议
        _gameSvrProtoUtil = new ProtoUtil();
        //连接
        _gameSvrConnect = NetworkConnect.Create("GameSvrNet", Core.SystemPluginRoot, _gameSvrProtoUtil);
        _gameSvrConnect.RegisterHandle(this.SendHeartBeadPkg, this.ChkSendPkg, this.ChkRecvPkg, this.PkgError);

        //TODO 后续可以定义 BattleSvr 连接,并添加到管理列表

        //网络状态监控
        _networkMonitor = NetworkMonitor.Create(Core.SystemPluginRoot);
        //降定义的svr连接加入到网络状态监控器中
        _networkMonitor.AddServerNet(_gameSvrConnect);
    }
예제 #9
0
        public MainViewModel()
        {
            _monitor  = new NetworkMonitor();
            _adapters = _monitor.Adapters;

            if (_adapters.Length == 0)
            {
                MessageBox.Show("No network adapters found on this computer.");
                return;
            }

            _monitor.StopMonitoring();
            _monitor.StartMonitoring(_adapters[1]);

            MyModel = new PlotModel {
                Title = "Up / Down (kbps)"
            };
            MyModel.Series.Add(new OxyPlot.Series.LineSeries());
            MyModel.Series.Add(new OxyPlot.Series.LineSeries());

            var dispatcherTimer = new DispatcherTimer {
                Interval = new TimeSpan(0, 0, 1)
            };

            dispatcherTimer.Tick += dispatcherTimer_Tick;
            dispatcherTimer.Start();
        }
예제 #10
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            if (Configs.MonitorNetwork)
            {
                netMonitor = new NetworkMonitor();
                if (netMonitor.Adapters.Count() > 0)
                {
                    netMonitor.StartMonitoring();
                }
                timer2           = new System.Timers.Timer(1000);
                timer2.AutoReset = true;
                timer2.Elapsed  += new System.Timers.ElapsedEventHandler(timer2_Elapsed);
                timer2.Start();
            }
            RefreshMsg("正在初始化系统...");
            ThreadPool.QueueUserWorkItem(delegate
            {
                int a = this.AdminId;//获取管理员ID缓存以便后面用...
            });
            LoginForm f8 = new LoginForm(this);

            if (f8.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                this.panel2.SendToBack();
                this.panel2.Hide();
            }
            else
            {
                notifyIcon1.Dispose();
                Environment.Exit(0);
            }
        }
예제 #11
0
        public static void Handle(ClientSocket clientSocket, byte[] packet)
        {
            NetworkMonitor.Log(BitConverter.ToInt32(packet, 0), TrafficMode.In);
            var packetId = (PacketType)packet[5];
            var user     = (User)clientSocket.StateObject;

            switch (packetId)
            {
            case PacketType.MsgHandshake:
                MsgDiffieHandler.Process(clientSocket, packet);
                break;

            case PacketType.MsgLogin:
                MsgLoginHandler.Process(clientSocket, packet);
                break;

            case PacketType.MsgFile:
                MsgFileHandler.Process(user, packet);
                break;

            case PacketType.MsgToken:
                MsgTokenHandler.Process(user, packet);
                break;

            case PacketType.MsgBench:
                MsgBenchHandler.Process(clientSocket, packet);
                break;

            default:
                Console.WriteLine("Unknown Packet Id " + packetId);
                break;
            }
        }
예제 #12
0
        static int Discover(DiscoverActionOptions discoverActionOptions)
        {
            Console.WriteLine("Discovering...");
            var configuration  = ConfigurationRepository.Load(discoverActionOptions.ConfigFilePath);
            var networkMonitor = new NetworkMonitor(configuration, new ActionExecutor());

            networkMonitor.StartDiscovery();
            return(0);
        }
예제 #13
0
        private void Timer_Tick(object sender, ElapsedEventArgs e)
        {
            if (!NetworkInterface.GetIsNetworkAvailable())
            {
                return;
            }

            NetworkMonitor.Initialize();
        }
예제 #14
0
        public MainWindow()
        {
            InitializeComponent();

            SettingsReader.SetValues();
            Brush panelColour = SettingsReader.PanelColour.Clone();

            panelColour.Opacity = SettingsReader.PanelOpacity;
            Brush backColour = SettingsReader.BackgroundColour.Clone();

            backColour.Opacity      = SettingsReader.BackgroundOpacity;
            cpupanel.Background     = panelColour;
            memorypanel.Background  = panelColour;
            netpanel.Background     = panelColour;
            mainpanel.Background    = backColour;
            _cpuColour              = SettingsReader.CPUColour.Clone();
            _memColour              = SettingsReader.RAMColour.Clone();
            lbl.Foreground          = SettingsReader.MainTextColour.Clone();
            memlbl.Foreground       = SettingsReader.MainTextColour.Clone();
            lbl_download.Foreground = SettingsReader.NetTextColour.Clone();
            lbl_upload.Foreground   = SettingsReader.NetTextColour.Clone();

            // CONTEXT MENU SETUP
            MenuItem m_close      = new MenuItem(); m_close.Header = "Close";
            MenuItem m_topmost    = new MenuItem(); m_topmost.Header = "Topmost";
            MenuItem m_shownet    = new MenuItem(); m_shownet.Header = "Show Network Activity";
            MenuItem m_openconfig = new MenuItem(); m_openconfig.Header = "Open Config";

            m_shownet.IsCheckable = true; m_shownet.IsChecked = true;
            m_shownet.Checked    += M_shownet_Checked; m_shownet.Unchecked += M_shownet_Unchecked;
            m_topmost.IsCheckable = true; m_topmost.IsChecked = true;
            m_topmost.Checked    += context_topmost_Checked;
            m_openconfig.Click   += M_openconfig_Click;
            m_topmost.Unchecked  += context_topmost_Unchecked;
            m_close.Click        += MenuItem_Click;
            Label m_adapters = new Label(); m_adapters.Content = "Network Adapters";

            netlist.SelectionChanged += Netlist_SelectionChanged;
            context.Items.Add(m_close);
            context.Items.Add(m_topmost);
            context.Items.Add(m_shownet);
            context.Items.Add(m_openconfig);
            context.Items.Add(m_adapters);
            context.Items.Add(netlist);

            monitor  = new NetworkMonitor();
            adapters = monitor.Adapters;
            foreach (var adapter in adapters)
            {
                netlist.Items.Add(adapter);
            }
            _cpuUsage           = new PerformanceCounter("Processor", "% Processor Time", "_Total");
            _mainTimer.Tick    += new EventHandler(mainTimer_Tick);
            _mainTimer.Interval = new TimeSpan(0, 0, 0, 0, SettingsReader.RefreshRate);
            _mainTimer.Start();
        }
        public TrafficGadget(NetworkMonitor.NetworkMonitor monitor)
        {
            InitializeComponent();

            this.Left = SystemParameters.PrimaryScreenWidth - this.Width;
            this.Top = SystemParameters.PrimaryScreenHeight - (this.Height + 50);

            this.Monitor = monitor;
            this.DataContext = monitor;
        }
예제 #16
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="method"></param>
        internal QueryMonitor(APIMethods method)
        {
            m_lastUpdate      = DateTime.MinValue;
            m_isFullKeyNeeded = method.HasAttribute <FullKeyAttribute>();
            m_methodHeader    = method.GetHeader();
            m_forceUpdate     = true;
            m_method          = method;
            m_enabled         = true;

            NetworkMonitor.Register(this);
        }
예제 #17
0
 static void Main(string[] args)
 {
     try
     {
         FirstInitial();
         var options = new Options();
         var parser  = new Parser();
         if (new Parser().ParseArguments(args, options))
         {
             NetworkMonitor monitor  = new NetworkMonitor();
             var            adapters = monitor.Adapters;
             if (adapters.Length == 0)
             {
                 Console.WriteLine("Network adapter interface not found, program terminated.");
                 return;
             }
             double dlLimit = options.Download;
             double ulLimit = options.Upload;
             int    i       = 0;
             Console.WriteLine($"Select 1 of {adapters.Count()} below network interfaces");
             monitor.StartMonitoring();
             adapters.ToList().ForEach(adapter =>
             {
                 Console.Write("Initializing...");
                 AdapterInitial(adapter, ref i);
                 Console.ForegroundColor = ConsoleColor.Gray;
             }); //load adapter list, also measure which adapter is active for network connection
             System.IO.File.Delete("temp");
             Console.Write("select : ");
             var selectedInterface = Convert.ToInt32(Console.ReadLine()) - 1;
             var selectedAdapter   = adapters[selectedInterface];
             Monitor(dlLimit, ulLimit, selectedAdapter, options.Force, options.Interval);
         }
         else
         {
             Console.WriteLine(options.GetUsage());
         }
     }
     catch (FormatException)
     {
         Console.WriteLine("You must choose one of the interfaces above.");
         Environment.Exit(0);
     }
     catch (IndexOutOfRangeException)
     {
         Console.WriteLine("You can't select non-exists network interface.");
         Environment.Exit(0);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
         Environment.Exit(0);
     }
 }
예제 #18
0
 public static NetworkMonitor Create(Transform root)
 {
     if (g_monitor == null)
     {
         GameObject go = new GameObject("NetworkMonitor");
         go.transform.parent = root;
         g_monitor           = go.AddComponent <NetworkMonitor>();
         g_monitor.Init();
     }
     return(g_monitor);
 }
예제 #19
0
        private static void Main()
        {
            NetworkMonitor.StateChanged += NetworkMonitor_StateChanged;
            NetworkMonitor.StartMonitor();

            Console.WriteLine("Press any key to stop monitoring.");
            Console.ReadKey();
            NetworkMonitor.StopMonitor();

            Console.WriteLine("Press any key to close program.");
            Console.ReadKey();
        }
예제 #20
0
        static int Configure(ConfigureActionOptions configureActionOptions)
        {
            if (ConfigurationRepository.Exists(configureActionOptions.ConfigFilePath))
            {
                Console.WriteLine($"{configureActionOptions.ConfigFilePath} already exists. Overwrite (Y/N)?");
                if (char.ToLowerInvariant(Console.ReadKey().KeyChar) != 'y')
                {
                    return(0);
                }
                Console.WriteLine();
            }

            Console.WriteLine("Available devices:");
            var availableDevices = NetworkMonitor.GetAllDeviceNames().ToArray();

            for (var i = 0; i < availableDevices.Length; i++)
            {
                Console.WriteLine($"[{i + 1}] {availableDevices[i]}");
            }

            Console.WriteLine("Make a selection: ");
            var selectedDeviceIndex = int.Parse(Console.ReadLine());

            var exampleConfiguration = new ProgramConfiguration
            {
                DeviceName = availableDevices[selectedDeviceIndex - 1],
                Actions    = new List <ActionConfiguration>
                {
                    new ActionConfiguration
                    {
                        Name       = "be_a_thoughtful_husband",
                        URL        = "https://maker.ifttt.com/trigger/send_email/with/key/your-key-here",
                        HttpMethod = "POST",
                        Body       = "{ \"value1\": \"[email protected]\", \"value2\": \"I love you\", \"value3\": \"I just pressed this button to show my love for you\" }"
                    }
                },
                Triggers = new List <TriggerConfiguration>
                {
                    new TriggerConfiguration
                    {
                        ActionName       = "be_a_thoughtful_husband",
                        PacketType       = PacketType.Any,
                        SourceMacAddress = "B47C9C94C67F"
                    }
                }
            };

            Console.WriteLine($"Writing example configuration to {configureActionOptions.ConfigFilePath}");
            ConfigurationRepository.Save(configureActionOptions.ConfigFilePath, exampleConfiguration);
            Console.WriteLine("Done");

            return(0);
        }
예제 #21
0
 public ThreadMonitorService()
 {
     prohelper = new ProcessHelper();
     logHelper = new LogWritesHelper();
     _monitor  = new NetworkMonitor();
     _adapters = _monitor.Adapters;
     // adapters 的长度是0,机器上没安装任何网络设备
     if (this._adapters.Length == 0)
     {
         logHelper.Write(new Msg("此服务器不存在网卡信息!", MsgType.Error));
         logHelper.Dispose();
     }
 }
예제 #22
0
        private void Form3_Load(object sender, EventArgs e)
        {
            monitor       = new NetworkMonitor();
            this.adapters = monitor.Adapters;

            if (adapters.Length == 0)
            {
                this.ListAdapters.Enabled = false;
                MessageBox.Show("No network adapters found on this computer.");
                return;
            }

            this.ListAdapters.Items.AddRange(this.adapters);
        }
예제 #23
0
        private bool TestedeRedeLocal()
        {
            NetworkMonitor.StateChanged += (object sender, StateChangeEventArgs e) => {
                if (e.IsAvailable == false)
                {
                    EventoAoFalharRede("A conexão de rede deste computador está indisponível");
                }
            };

            NetworkMonitor.StartMonitor();
            Thread.Sleep(1000);

            return(NetworkMonitor.CurrentState);
        }
예제 #24
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="method"></param>
        internal QueryMonitor(APIMethods method)
        {
            m_lastUpdate      = DateTime.MinValue;
            m_isFullKeyNeeded = method.HasAttribute <FullKeyAttribute>();
            m_methodHeader    = (method.HasHeader() ? method.GetHeader() : String.Empty);
            m_forceUpdate     = true;
            m_method          = method;
            m_enabled         = true;

            bool methodHasAttribute = m_method.HasAttribute <UpdateAttribute>();

            m_cacheStyle = (methodHasAttribute ? m_method.GetAttribute <UpdateAttribute>().CacheStyle : CacheStyle.Short);

            NetworkMonitor.Register(this);
        }
예제 #25
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="method">The method.</param>
        /// <param name="callback">The callback.</param>
        /// <exception cref="System.ArgumentNullException">callback;@The callback cannot be null.</exception>
        internal QueryMonitor(Enum method, Action <EsiResult <T> > callback)
        {
            // Check callback not null
            callback.ThrowIfNull(nameof(callback), "The callback cannot be null.");

            LastUpdate     = DateTime.MinValue;
            m_forceUpdate  = true;
            m_onUpdated    = callback;
            Method         = method;
            Enabled        = false;
            QueryOnStartup = false;

            NetworkMonitor.Register(this);

            EveMonClient.TimerTick += EveMonClient_TimerTick;
        }
예제 #26
0
    private void Start()
    {
        _downloader            = gameObject.GetComponent <Downloader>();
        _downloader.onUpdate   = OnUpdate;
        _downloader.onFinished = OnComplete;

        _monitor          = gameObject.GetComponent <NetworkMonitor>();
        _monitor.listener = this;

        _savePath = string.Format("{0}/DLC/", Application.persistentDataPath);
        _platform = GetPlatformForAssetBundles(Application.platform);

        _step = Step.Wait;

        LoadModule.updatePath = _savePath;
    }
        // sự kiện form load
        private void Speed_Load(object sender, EventArgs e)
        {
            monitor       = new NetworkMonitor();
            this.adapters = monitor.Adapters;
            // lấy danh sách card mạng hiện có trong máy

            if (adapters.Length == 0)
            {
                // nếu không tìm thấy thì in câu thông báo
                this.lstCard.Enabled = false;
                MessageBox.Show("Không tìm thấy card mạng trên máy bạn.");
                return;
            }
            // nếu có thì thêm vào listbox
            this.lstCard.Items.AddRange(this.adapters);
        }
예제 #28
0
        private async void Init()
        {
            ViewModel.PropertyChanged += (_, e) =>
            {
                if (e.PropertyName == "Fates")
                {
                    var fateNodes = ViewModel.Fates.SelectMany(fateTree => fateTree.Leaves);

                    foreach (var fateNode in fateNodes)
                    {
                        fateNode.IsChecked        = Config.Instance.Watch.Fates.Contains(((ViewModels.FateNode)fateNode).Id);
                        fateNode.PropertyChanged += FateNode_PropertyChanged;
                    }
                }
            };
            Data.Instance.PropertyChanged += Data_PropertyChanged;
            Data.Instance.Init();
            Utils.Log.Handler += Log;
            ffxivPlugin        = await Helper.GetFFXIVPlugin();

            Telemetry.Init();
            Helper.CheckLicenseNotice();

            var network = new NetworkMonitor();

            network.OnException    += LogException;
            network.OnReceiveEvent += Network_onReceiveEvent;

#if DEBUG
            Client.UniversalisProcessor.Log += OnUniversalisLog;
#endif

            ParsePlugin.Init(ffxivPlugin, network);

            if (Config.Instance.Language == null)
            {
                Config.Instance.Language = ParsePlugin.Instance.GetLanguage();
            }

            if (Config.Instance.Region == null)
            {
                Config.Instance.Region = ParsePlugin.Instance.GetRegion();
            }

            ParsePlugin.Instance.Network = network;
            ParsePlugin.Instance.Start();
        }
예제 #29
0
파일: ServerCenter.cs 프로젝트: ghrguse/ss
    public void Dispose()
    {
        if (_gameSvrProtoUtil != null)
        {
            _gameSvrProtoUtil.Clear();
        }

        if (_gameSvrConnect != null)
        {
            _gameSvrConnect.UnRegisterHandle(this.SendHeartBeadPkg, this.ChkSendPkg, this.ChkRecvPkg, this.PkgError);
        }

        _gameSvrConnect   = null;
        _gameSvrProtoUtil = null;
        _networkMonitor   = null;
        base.Dispose();
    }
예제 #30
0
        static int Run(RunActionOptions runActionOptions)
        {
            Console.WriteLine("Running...");
            var configuration = ConfigurationRepository.Load(runActionOptions.ConfigFilePath);

            Console.WriteLine("Triggers:");
            foreach (var trigger in configuration.Triggers)
            {
                Console.WriteLine($"{trigger.SourceMacAddress} => {trigger.ActionName}");
            }
            Console.WriteLine();

            var networkMonitor = new NetworkMonitor(configuration, new ActionExecutor());

            networkMonitor.StartMonitoring();
            return(0);
        }
예제 #31
0
        private void ApplyConfig()
        {
            try
            {
                switch (Settings.EnableMonitoring)
                {
                case true:
                    // Configure format
                    Format = configuration.Format;
                    // Initialize adapter
                    adapterController = new AdapterController(configuration.MonitoredAdapter);
                    monitor           = new NetworkMonitor(adapterController);
                    // Start Monitoring
                    monitor.Start();

                    switch (Format)
                    {
                    case "Auto":
                        timerAuto.Start();
                        break;

                    case "KB":
                        timerKB.Start();
                        break;

                    case "MB":
                        timerMB.Start();
                        break;
                    }

                    break;

                case false:
                    LblUpload.Text   = "N/A";
                    LblDownload.Text = "N/A";
                    break;
                }
            }
            catch (Exception ex)
            {
                LblUpload.Text   = "N/A";
                LblDownload.Text = "N/A";
            }
        }