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

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

  1. #1

    چک کردن اتصال به اینترنت

    سلام دوستان عزیزم من تازه وارد در دلفی هستم
    من یک کد برای دلفی میخوام که چک کنه که آیا اتصال به اینترنت برقرار هست یا خیر؟
    البته یک کد رو پیدا کردم که فقط اتصال به شبکه رو چک میکنه یعنی اگر به شبکه وصل باشی اما اینترنت نداشته باشی باز هم میزنه که متصل هستی به اینترنت که اشتباه هستش

  2. #2

    نقل قول: چک کردن اتصال به اینترنت

    به ترتیب از توابع InternetGetConnectedState API و InternetCheckConnection استفاده کنید

  3. #3
    کاربر دائمی آواتار hp1361
    تاریخ عضویت
    دی 1384
    محل زندگی
    تهران
    پست
    750

    نقل قول: چک کردن اتصال به اینترنت

    سلام

    در تکمیل صحبت negative60 عزیز



    uses
    Winapi.WinInet;



    procedure TForm1.btn_InternetGetConnectedStateClick(Sender: TObject);
    var
    origin: Cardinal;
    // connections origins by origin value
    // NO INTERNET CONNECTION = 0;
    // INTERNET_CONNECTION_MODEM = 1;
    // INTERNET_CONNECTION_LAN = 2;
    // INTERNET_CONNECTION_PROXY = 4;
    // INTERNET_CONNECTION_MODEM_BUSY = 8;
    begin
    if InternetGetConnectedState(@origin, 0) then
    ShowMessage('اتصال به اینترنت وجود دارد!')
    else
    ShowMessage('اتصالی وجود ندارد!')
    end;


    مقادیر موجود در متغیر origin نشاندهنده نحوه اتصال به اینترنت خواهد بود(اتصال از طریق LAN، از طریق مودم و ...)

    این رو هم درنظر داشته باشید که ممکنه پروسه چک کردن وجود اتصال زمانبر بشه و اونوقت UI کاربر به حالت قفل دربیاد! لذا استفاده از یک ترد جداگانه پیشنهاد میشه.

    البته بیشتر پیشنها میشه به بک سرور که همیشه در اینترنت UP هست کانکت بشین و از نتیجه اون استفاده کنید چرا که بعضی مواقع ممکنه سیستم عامل نتیجه درستی بر نگردونه!

    موفق باشیم

  4. #4

    نقل قول: چک کردن اتصال به اینترنت

    در شرایط مختلف این کد بکار نمیاد.
    معتبرین راه استفاده از پینگ هست.

  5. #5

    نقل قول: چک کردن اتصال به اینترنت

    نقل قول نوشته شده توسط hp1361 مشاهده تاپیک
    سلام

    در تکمیل صحبت negative60 عزیز



    uses
    Winapi.WinInet;



    procedure TForm1.btn_InternetGetConnectedStateClick(Sender: TObject);
    var
    origin: Cardinal;
    // connections origins by origin value
    // NO INTERNET CONNECTION = 0;
    // INTERNET_CONNECTION_MODEM = 1;
    // INTERNET_CONNECTION_LAN = 2;
    // INTERNET_CONNECTION_PROXY = 4;
    // INTERNET_CONNECTION_MODEM_BUSY = 8;
    begin
    if InternetGetConnectedState(@origin, 0) then
    ShowMessage('اتصال به اینترنت وجود دارد!')
    else
    ShowMessage('اتصالی وجود ندارد!')
    end;


    مقادیر موجود در متغیر origin نشاندهنده نحوه اتصال به اینترنت خواهد بود(اتصال از طریق LAN، از طریق مودم و ...)

    این رو هم درنظر داشته باشید که ممکنه پروسه چک کردن وجود اتصال زمانبر بشه و اونوقت UI کاربر به حالت قفل دربیاد! لذا استفاده از یک ترد جداگانه پیشنهاد میشه.

    البته بیشتر پیشنها میشه به بک سرور که همیشه در اینترنت UP هست کانکت بشین و از نتیجه اون استفاده کنید چرا که بعضی مواقع ممکنه سیستم عامل نتیجه درستی بر نگردونه!

    موفق باشیم
    ممنون از پاسختون اما این هم همون مشکل رو داره اگر به شبکه وصل باشی اما شبکه به اینترنت وصل نباشه باز میزنه که به اینترنت متصل است

  6. #6

    نقل قول: چک کردن اتصال به اینترنت

    نقل قول نوشته شده توسط Mask مشاهده تاپیک
    در شرایط مختلف این کد بکار نمیاد.
    معتبرین راه استفاده از پینگ هست.
    سلام
    میشه لطفا بفرمایید که چطوری میشه؟ و کمکم کنید؟

  7. #7

    نقل قول: چک کردن اتصال به اینترنت

    نقل قول نوشته شده توسط negative60 مشاهده تاپیک
    به ترتیب از توابع InternetGetConnectedState API و InternetCheckConnection استفاده کنید
    چطوری میشه ازش استفاده کرد؟

  8. #8

    نقل قول: چک کردن اتصال به اینترنت

    نقل قول نوشته شده توسط sara.ghavam مشاهده تاپیک
    سلام
    میشه لطفا بفرمایید که چطوری میشه؟ و کمکم کنید؟
    کافیه یه کامپوننت icmp بزارید روی فرمتون.
    procedure TForm1.IdIcmpClient1Reply(ASender: TComponent;  const AReplyStatus: TReplyStatus);
    begin
    memo1.lines.Add(inttostr(i)+'- host '+AReplyStatus.FromIpAddress+' sent '+inttostr(AReplyStatus.BytesReceived)+' bytes date in '+IntToStr(AReplyStatus.MsRoundTripTime)+' ms.');
    end;


    procedure TForm1.Button1Click(Sender: TObject);
    begin
    IdIcmpClient1.ReceiveTimeout:=SpinEdit2.Value;
    IdIcmpClient1.Host:=edit1.Text;
    for i:=1 to SpinEdit1.Value do IdIcmpClient1.Ping('',0);
    memo1.Lines.Add('-----------------------------------------------------------------------------------------');
    end;


    procedure TForm1.IdIcmpClient1Reply(ASender: TComponent;
    const AReplyStatus: TReplyStatus);
    begin
    memo1.lines.Add(inttostr(i)+'- host '+AReplyStatus.FromIpAddress+' sent '+inttostr(AReplyStatus.BytesReceived)+' bytes date in '+IntToStr(AReplyStatus.MsRoundTripTime)+' ms.');
    end;

  9. #9

    نقل قول: چک کردن اتصال به اینترنت

    نقل قول نوشته شده توسط sara.ghavam مشاهده تاپیک
    چطوری میشه ازش استفاده کرد؟
    همونطور که از بقیه API‌ ها استفاده می‌کنید با استفاده از توضیحات داده شده تو سایت مرجع یا گوگل کردن.

    const FLAG_ICC_FORCE_CONNECTION = 1;


    begin
    if InternetCheckConnection('http://www.google.com', FLAG_ICC_FORCE_CONNECTION, 0)
    then ShowMessage('Connected')
    else ShowMessage('No Connected');
    end;


    این رو هم درنظر داشته باشید که ممکنه پروسه چک کردن وجود اتصال زمانبر بشه و اونوقت UI کاربر به حالت قفل دربیاد! لذا استفاده از یک ترد جداگانه پیشنهاد میشه.
    به این مورد هم توجه کنید که برنامه فریز نشه

  10. #10

    نقل قول: چک کردن اتصال به اینترنت

    نقل قول نوشته شده توسط negative60 مشاهده تاپیک
    همونطور که از بقیه API‌ ها استفاده می‌کنید با استفاده از توضیحات داده شده تو سایت مرجع یا گوگل کردن.

    const FLAG_ICC_FORCE_CONNECTION = 1;


    begin
    if InternetCheckConnection('http://www.google.com', FLAG_ICC_FORCE_CONNECTION, 0)
    then ShowMessage('Connected')
    else ShowMessage('No Connected');
    end;



    به این مورد هم توجه کنید که برنامه فریز نشه

    ممنونم
    این درست کار کرد اما برای جلوگیری از فریز شدن چیکار باید بکنم؟ باید ترد بنویسم؟

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

  1. چک کردن اتصال به اینترنت
    نوشته شده توسط Collector در بخش Windows Phone و Windows Mobile
    پاسخ: 1
    آخرین پست: دوشنبه 05 دی 1390, 21:23 عصر
  2. سوال: چک کردن اتصال به اینترنت
    نوشته شده توسط microprolog-p96s در بخش Access
    پاسخ: 4
    آخرین پست: شنبه 18 دی 1389, 11:35 صبح
  3. چک کردن اتصال به اینترنت در هر چند ثانیه؟
    نوشته شده توسط saeid_omrani در بخش VB.NET
    پاسخ: 5
    آخرین پست: سه شنبه 25 فروردین 1388, 11:30 صبح
  4. چک کردن اتصال به اینترنت
    نوشته شده توسط karzari در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 1
    آخرین پست: پنج شنبه 12 اردیبهشت 1387, 14:10 عصر
  5. چک کردن اتصال به اینترنت
    نوشته شده توسط senator_aka در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: شنبه 03 شهریور 1386, 15:53 عصر

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

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