حسین احمدی
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

آموزش بررسی اتصال اینترنت در سی شارپ به زبان ساده

خیلی اوقات پیش می آید که بخواهیم در یک برنامه بررسی کنیم که دسترسی به اینترنت وجود دارد یا خیر. یکی از روش ها که شاید خیلی از برنامه نویس ها از آن استفاده می کنند ارسال درخواستی به یک وب سایت اینترنتی است که در صورت دریافت پاسخ، دسترسی به اینترنت وجود خواهد داشت:

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

برای یادگیری و آموزش سی شارپ ( آموزش زبان برنامه نویسی سی شارپ ) رایگان به این لینک بروید

private static bool IsConnectedtoInternet()
{
    bool IsConnectedtoInternet;
    try
    {
        using (WebClient client = new WebClient())
        {
            using (client.OpenRead("http://tosinso.com"))
            {
                IsConnectedtoInternet = true;
            }
        }
    }
    catch
    {
        IsConnectedtoInternet = false;
    }
    return IsConnectedtoInternet;
}

اما فرض کنید سایت ITPRO، خدای نکرده در دسترس نبود، در این لحظه راهکار چیست؟ راه دیگر استفاده از توابع COM است که در خود Windows تعریف شده. نام این تابع InternetGetConnectedState می باشد که در فایل wininet.dll تعریف شده و می توان بوسیله dllimport آن را در برنامه استفاده کرد:

[DllImport("wininet.dll")]
private extern static bool InternetGetConnectedState(out int Description, int ReservedValue);

private static bool IsConnectedtoInternet()
{
    int description;
    return InternetGetConnectedState(out description, 0);
}

مزیت این روش، استفاده از مکانیزم خود ویندوز برای بررسی وجود دسترسی به اینترنت بوده و نسبت به روش قبلی قابل اطمینان تر است. امیدوارم این نکته مورد استفاده دوستان قرار بگیرد.


حسین احمدی
حسین احمدی

بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...

نظرات