در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

بررسی وجود اتصال به اینترنت در سی شارپ

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


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);
}

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

نویسنده: حسین احمدی

منبع: ITPRO

#نکات_زبان_سی_شارپ #دسترسی_به_اینترنت_در_سی_شارپ #بررسی_دسترسی_به_اینترنت #نکات_برنامه_نویسی
1 نظر
جواد طوسی

البته درست است اما توابع اول شما تا حدودی کند عمل میکنه چرا که برای اطمینان از اتصال به دنیای اینترنت قرار نیست یک وب سایت تست شود! و تابع دوم شما صرفا اتصال رو به یک شبکه تشخیص می دهند اگه حجم اینترنت شما تمام شده باشد مقدار تابع TRUE هست یا اتصال به یک شبکه داخلی...!

متد ping جایگزین بهتری برای این مورد هست!

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....