نمایش نتایج 1 تا 7 از 7

نام تاپیک: مشکل در چک کردن اتصال اینترنت

  1. #1
    کاربر دائمی آواتار mtnam1372
    تاریخ عضویت
    آذر 1390
    محل زندگی
    کاشان
    سن
    30
    پست
    162

    مشکل در چک کردن اتصال اینترنت

    سلام
    من قصد دارم چک کنم اینترنت وصله یا نه اگر وصل بود یه کاری رو انجام بده در غیر این صورت یه کار دیگه
    از این کد استفاده میکنم


    Ping ping = new Ping();
    PingReply pingStatus = ping.Send("google.com");
    if (pingStatus.Status == IPStatus.Success)
    {


    خوب اگر به اینترنت متصل باشیم که هیچ درست کار میکنه مشکل اینجاست که اگر به اینترنت متصل نباشیم برنامه بجای اینکه کار دوم رو انجام بده دچار مشکل میشه و خاتمه پیدا میکنه
    به نظر شما چیکار کنم؟
    کد بهتری هست؟

  2. #2
    کاربر دائمی آواتار Farshid007
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    Karaj
    پست
    1,249

    نقل قول: مشکل در چک کردن اتصال اینترنت #C؟؟؟؟؟؟؟؟؟

                try
    {
    Ping ping = new Ping();
    PingReply pingStatus = ping.Send("google.com");
    if (pingStatus.Status == IPStatus.Success)
    {
    MessageBox.Show("OK");
    }


    }
    catch
    {
    MessageBox.Show("Error");
    }


    البته این راه از نظر برنامه نویسی صحیح نیست چون ممکنه که سرور های google داون باشه !خدا رو چی دیدی؟

  3. #3
    کاربر دائمی آواتار Farshid007
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    Karaj
    پست
    1,249

    نقل قول: مشکل در چک کردن اتصال اینترنت #C؟؟؟؟؟؟؟؟؟

    اینو خودم نوشتم تا اونجایی که تست کردم درست جواب داد:

            bool checknet()
    {
    System.Net.NetworkInformation.NetworkInterface[] net = System.Net.NetworkInformation.NetworkInterface.Get AllNetworkInterfaces();
    foreach (System.Net.NetworkInformation.NetworkInterface nnt in net)
    {
    if (nnt.NetworkInterfaceType == System.Net.NetworkInformation.NetworkInterfaceType .Ethernet)
    {
    return true;
    }
    }
    return false;
    }

  4. #4
    کاربر دائمی آواتار mtnam1372
    تاریخ عضویت
    آذر 1390
    محل زندگی
    کاشان
    سن
    30
    پست
    162

    نقل قول: مشکل در چک کردن اتصال اینترنت

    عزیزم جواب اولت که همون مال خودمه خودمم بلد بودم مسیج باکسو بنویسم

    جواب دومتم چه به اینترنت وصل باشیم چه نباشیم true برمیگردونه و این یعنی کار نمیکنه
    در هر صورت ممنون

  5. #5
    کاربر دائمی آواتار Saeed_m_Farid
    تاریخ عضویت
    تیر 1386
    محل زندگی
    فضای تهی میان دیوارها
    سن
    44
    پست
    1,046

    نقل قول: مشکل در چک کردن اتصال اینترنت

    نقل قول نوشته شده توسط mtnam1372 مشاهده تاپیک
    عزیزم جواب اولت که همون مال خودمه خودمم بلد بودم مسیج باکسو بنویسم...
    ایشون با این کد مشکل شما رو که گفتی:
    مشکل اینجاست که اگر به اینترنت متصل نباشیم برنامه بجای اینکه کار دوم رو انجام بده دچار مشکل میشه و خاتمه پیدا میکنه
    حل کردن! یعنی اگه "خودتم بلد بودی مسیج باکسو بنویسی" حتماً بلد هستی بجاش یه return true یا return false هم بذاری ....
    =============
    این کار هزار تا راه حل داره که یکیش پینگ کردن هست، من دو سه تاش رو میگم، با هرکدوم حال میکنی، استفاده کن، فقط استفاده از wininet.dll یکم سریعتر هست (چون مال خود مایکروسافت هست!)، اون‌یکی ها رو هم با عوض کردن Timeout ها میتونی سریعتر کنی (یعنی نسبت به packet lost عمومی شبکه باید تنظیم بشن)، ولی قابلیت اطمینانشون هم میاد پایین ...

    یکی استفاده از WinInet هست:

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

    //Creating a function that uses the API function...
    public static bool IsConnectedToInternet( )
    {
    int Desc ;
    return InternetGetConnectedState( out Desc, 0 ) ;
    }


    یکی هم استفاده از ارسال یه درخواست TCP به سایت موردنظر فرضی هست:

    public static bool IsConnectedToInternet( )
    {
    Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    try
    {
    IAsyncResult result = socket.BeginConnect("www.xxxxxxxxx.com", 80, null, null );
    //Set for 3 sec timeout, you can change it ...
    return (result.AsyncWaitHandle.WaitOne( 3000, true ));
    }
    finally
    {
    socket.Close();
    }
    }


    یه راهش هم استفاده از ارسال درخواست HttpWebResponse هست:

    public static bool IsConnectedToInternet( )
    {
    try
    {
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.xxxxxxxxx.com");
    request.Timeout = 5000;
    request.Credentials = CredentialCache.DefaultNetworkCredentials;
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();

    return (response.StatusCode == HttpStatusCode.OK);
    }
    catch (Exception ex)
    {
    //LogError("Error: " + ex.Message);
    return false;
    }
    }

  6. #6
    کاربر دائمی آواتار mtnam1372
    تاریخ عضویت
    آذر 1390
    محل زندگی
    کاشان
    سن
    30
    پست
    162

    مشکل در چک کردن اتصال اینترنت

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

    یعنی حتی اگر براش بنویسی اگر وصل بود پیغام بده کانکت و اگر نه چا پ کن کانکت نیست

    در صورت اتصال چاپ میکرد کانکت ولی اگر متصل نبودیم برنامه دچار مشکل میشد و بسته میشد

    جالبه همینو سورس گذر هم گذاشته بود همین مشکل رو داشت
    در هر صورت قصد جسارت نداشتم

  7. #7
    کاربر دائمی آواتار Saeed_m_Farid
    تاریخ عضویت
    تیر 1386
    محل زندگی
    فضای تهی میان دیوارها
    سن
    44
    پست
    1,046

    نقل قول: مشکل در چک کردن اتصال اینترنت

    بازم نگرفتی
    اینهمه بحث نداره! "برنامه دچار مشکل میشه" چون از بلاک try...catch استفاده نکردی، تمام!
    "در هر صورت قصد جسارت نداشتم" واقعاً که!!! (قول میدم سنّت پائینه اینقدر خودم خودم میکنی، کاش یکم واقع بین تر باشی...)

تاپیک های مشابه

  1. سوال: چک کردن اتصال اینترنت Share شده
    نوشته شده توسط loo30fer در بخش توسعه نرم افزارهای تحت شبکه
    پاسخ: 4
    آخرین پست: شنبه 14 خرداد 1390, 17:17 عصر
  2. چک کردن اتصال به اینترنت
    نوشته شده توسط karzari در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 1
    آخرین پست: پنج شنبه 12 اردیبهشت 1387, 14:10 عصر
  3. چک کردن اتصال به اینترنت
    نوشته شده توسط senator_aka در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: شنبه 03 شهریور 1386, 15:53 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •