Пример #1
0
        private void startBtn_Click(object sender, RoutedEventArgs e)
        {
            if (PatternChecker.IsValidIP(ipInput.Text))
            {
                if (!started && IsWoundDown)
                {
                    SetStart(true);
                    startStopBtn.Content = "Stop";
                }
                else
                {
                    source.Cancel();
                    source = new CancellationTokenSource();
                    startStopBtn.Content = "Start";
                    SetStart(false);
                    return;
                }

                if (IsWoundDown)
                {
                    ip    = ipInput.Text;
                    token = source.Token;
                    string interval = GetInterval(pollInterval.Text);

                    Thread startThread = new Thread(() => StartPoll(interval));
                    startThread.Start();
                    IsWoundDown = false;
                }
            }
            else
            {
                MessageBox.Show("Not a valid IP!", "Error");
            }
        }
Пример #2
0
        private void startBtn_Click(object sender, RoutedEventArgs e)
        {
            Console.WriteLine("1\n");
            if (PatternChecker.IsValidIP(ipInput.Text))
            {
                if (!started && IsWoundDown)
                {
                    SetStart(true);
                    startStopBtn.Content = "Stop";
                }
                else
                {
                    GenerateSource();
                    startStopBtn.Content = "Start";
                    SetStart(false);
                    return;
                }

                if (IsWoundDown)
                {
                    ip = ipInput.Text;
                    GenerateToken();
                    string interval = GetInterval(pollInterval.Text);

                    Thread startThread = new Thread(() => StartPoll(interval));
                    startThread.Start();
                    IsWoundDown = false;
                }
            }
            else
            {
                MessageBox.Show("Not a valid IP!", "Error");
            }
        }
Пример #3
0
        private void ParseData(string data, CancellationToken token)
        {
            StringBuilder sb = new StringBuilder();
            StringReader  sr = new StringReader(data);

            sb.Append(sr.ReadToEnd());

            if (PatternChecker.IsTraceComplete(sb.ToString()) && token.IsCancellationRequested == false)
            {
                Dispatcher.Invoke(() => ClearGrid());
                IsTraceComplete = true;
                return;
            }

            List <String> tempList  = new List <string>();
            int           dataValue = 0;

            //Captures IPs and excludes latency and non-numerical IPs
            for (int i = 0; i < sb.Length; i++)
            {
                if (token.IsCancellationRequested)
                {
                    return;
                }
                if (sb[i] != ' ' && sb[i] != '<' && sb[i] != '[')
                {
                    StringBuilder sb2 = new StringBuilder();
                    while (sb[i] != '*')
                    {
                        if (token.IsCancellationRequested)
                        {
                            return;
                        }
                        if (sb.Length > i + 1)
                        {
                            if (sb[i + 1] == ' ')
                            {
                                if (dataValue == 7 || dataValue == 8)
                                {
                                    if (sb[i] != ']')
                                    {
                                        sb2.Append(sb[i].ToString());
                                    }
                                    if (PatternChecker.IsValidIP(sb2.ToString()))
                                    {
                                        tempList.Add(sb2.ToString());
                                    }
                                }
                                dataValue += 1;
                                break;
                            }

                            if (dataValue == 7 || dataValue == 8)
                            {
                                sb2.Append(sb[i].ToString());
                            }
                            i++;
                        }
                    }

                    if (sb[i] == '*')
                    {
                        if (dataValue == 1 || dataValue == 3)
                        {
                            dataValue += 2;
                        }
                    }
                }
            }

            if (tempList.Count > 0)
            {
                string tempHost = tempList[0];
                routeList.Add(tempHost);
            }
        }