نقل قول: چک کردن اتصال به اینترنت
نقل قول: چک کردن اتصال به اینترنت
سلام
در تکمیل صحبت 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 هست کانکت بشین و از نتیجه اون استفاده کنید چرا که بعضی مواقع ممکنه سیستم عامل نتیجه درستی بر نگردونه!
موفق باشیم
نقل قول: چک کردن اتصال به اینترنت
در شرایط مختلف این کد بکار نمیاد.
معتبرین راه استفاده از پینگ هست.
نقل قول: چک کردن اتصال به اینترنت
نقل قول:
نوشته شده توسط
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 هست کانکت بشین و از نتیجه اون استفاده کنید چرا که بعضی مواقع ممکنه سیستم عامل نتیجه درستی بر نگردونه!
موفق باشیم
ممنون از پاسختون اما این هم همون مشکل رو داره اگر به شبکه وصل باشی اما شبکه به اینترنت وصل نباشه باز میزنه که به اینترنت متصل است
نقل قول: چک کردن اتصال به اینترنت
نقل قول:
نوشته شده توسط
Mask
در شرایط مختلف این کد بکار نمیاد.
معتبرین راه استفاده از پینگ هست.
سلام
میشه لطفا بفرمایید که چطوری میشه؟ و کمکم کنید؟
نقل قول: چک کردن اتصال به اینترنت
نقل قول:
نوشته شده توسط
negative60
چطوری میشه ازش استفاده کرد؟
نقل قول: چک کردن اتصال به اینترنت
نقل قول:
نوشته شده توسط
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;
نقل قول: چک کردن اتصال به اینترنت
نقل قول:
نوشته شده توسط
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 کاربر به حالت قفل دربیاد! لذا استفاده از یک ترد جداگانه پیشنهاد میشه.
به این مورد هم توجه کنید که برنامه فریز نشه
نقل قول: چک کردن اتصال به اینترنت
نقل قول:
نوشته شده توسط
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;
به این مورد هم توجه کنید که برنامه فریز نشه
ممنونم
این درست کار کرد اما برای جلوگیری از فریز شدن چیکار باید بکنم؟ باید ترد بنویسم؟