Ejemplo n.º 1
0
    public static void Main(string[] argv)
    {
        if (argv.Length == 1)
        {
            ip2country ic = new ip2country("ip2cntry.dat");
            TimeSpan   span;
            DateTime   end;
            DateTime   start      = DateTime.Now;
            int        countryidx = ic.lookup(argv[0]);

            switch (countryidx)
            {
            case -1:
                Console.WriteLine("{0} is not in the database", argv[0]);
                break;

            case -2:
                Console.WriteLine("{0} doesn't seem to be a valid IP number.", argv[0]);
                break;

            case -3:
                Console.WriteLine("ip2cntry.dat is not a valid database");
                break;

            default:
                String country = ic.countryCode(countryidx);
                end  = DateTime.Now;
                span = new TimeSpan(end.Ticks - start.Ticks);
                Console.WriteLine("{0} is in {1} - took {2} ms", argv[0], country, Math.Round(span.TotalMilliseconds));
                break;
            }
        }
        else
        {
            Console.WriteLine("Usage: ip2c <IP address>");
        }
    }
Ejemplo n.º 2
0
        void ButtonClick(object sender, System.EventArgs e)
        {
            int cnt = 0;

            button.Enabled = false;
            if (!cbOutput.Checked)
            {
                serverlist.Items.Clear();
            }
            int      n = ips.Length;
            TimeSpan span;
            DateTime end;
            DateTime start = DateTime.Now;

            int[] result = new int[n];
            for (int i = 0; i < n; i++)
            {
                result[i] = ic.lookup(ips[i]);
            }
            end         = DateTime.Now;
            span        = new TimeSpan(end.Ticks - start.Ticks);
            perSec.Text = span.TotalSeconds.ToString() + " secs runtime. " + Math.Round(n / span.TotalSeconds).ToString() + " lookups per second.";
            if (!cbOutput.Checked)
            {
                for (int i = 0; i < n; i++)
                {
                    switch (result[i])
                    {
                    case -1:
                        goto case -2;

                    case -2:
                        cnt++;
                        serverlist.Items.Add(cnt.ToString() + ". " + ips[i] + " = N/A");
                        break;

                    default:
                        if (!cbUnresolvedOnly.Checked)
                        {
                            cnt++;
                            serverlist.Items.Add(cnt.ToString() + ". " + ips[i] + " = " + ic.countryCode(result[i]));
                        }
                        break;
                    }
                }
            }
            button.Enabled = true;
        }