Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Nefunguje internet, co mám dělat? Aneb šéfíme v C#

V minulé lekci, Nahrání/stažení souboru z FTP v C# .NET, jsme si ukázali nahrání a stažení souboru z FTP serveru v C# .NET pomocí třídy WebClient a jejích metod UploadFile() a DownloadFile().

Stalo se vám někdy, že prostě nefungoval internet a vy jste museli čekat a stále se dívat jestli už "naskočil"?

Pojdmě si spolu napsat jednoduchou aplikaci, která nás upozorní až internet naskočí. Je to snadné! Stačí nám klasická konzolová aplikace.

Nejprve si vytvoříme metodu, která bude pingovat danou adresu. Pokud se packet vrátí interne funguje.

Metoda je tak zjednodušená, že není třeba nic vysvětlovat. Jen tak ze zajímavosti se ale určitě podívejte na všechny možnosti, které nám nabízí třída Ping.

public static bool Ping(string url)
{
    Ping ping = new Ping();

    PingReply reply = ping.Send(url, 3000);

    if (reply.Status == IPStatus.Success)
        return true;
    return false;
}

Posílání sms je popsáno v tomto článku: Posílání SMS v C#

A pak jen program zacyklíme. Teď jestli tento článek čte Kit, tak mě bude ten cyklus dlouho vyčítat :D V programu, by se totiž mělo používat co nejméně cyklů, vyvarovat se zanořených cyklů a už vůbec by se nemělo používat nekonečných cyklů. Tzn for(;;) a while(true) nemá v programu co dělat. Ale tohle je jen naše drobná utilitka a dáme si tam Thread.Sleep, aby to nejelo pořád, takže to tolik nevadí :) Jinak, pokud někomu jó tak si vytvoří instanci Windows Form Timeru a bude to samé volat v události Tick :)

static void Main(string[] args)
{
    while (true)
    {
        if (Ping("www.google.com"))
        {
            sendSMS();
            MessageBox.Show("Hej funguje to, funguje, popláááách!!!!");
            break;
        }
        else
        {
            Console.WriteLine("Zatím nic :'(");
        }
                System.Threading.Thread.Sleep(5000);
    }
}

 

Předchozí článek
Nahrání/stažení souboru z FTP v C# .NET
Všechny články v sekci
Síť v C# .NET
Článek pro vás napsal David Jančík
Avatar
Uživatelské hodnocení:
2 hlasů
Autor je vášnivý programátor. Nezná slovo "nelze", nebojí se zkoušet nepoznané a pronikat do nových technologií.
Aktivity