سلام . چه طوری میشه تشخیص داد که ایا سیستم به اینترنت وصل هست یا نه؟
ممنون
سلام . چه طوری میشه تشخیص داد که ایا سیستم به اینترنت وصل هست یا نه؟
ممنون
سلام
ابتدا رفرنس Microsoft.VisualBasic را به برنامه اضافه کنید.
Microsoft.VisualBasic.Devices.Network AVL = new Microsoft.VisualBasic.Devices.Network();
NETAVL = AVL.IsAvailable;
switch (NETAVL)
{
case true:
MessageBox.Show("Internet Is Available");
break;
case false:
MessageBox.Show("Internet Is Not Available");
break;
}
private extern static bool InternetGetConnectedState(out int Description, int ReservedValue);
bool IsConnectedToInternet()
{
bool a;
int Desc;
a = InternetGetConnectedState(out Desc, 0);
return a;
}
private void button1_Click(object sender, EventArgs e)
{
if (IsConnectedToInternet() == true) label1.Text = "شما به اینترنت متصل هستید";
if (IsConnectedToInternet() == false ) label1.Text = "شما به اینترنت متصل نیستید!!!";
}
یادم رفت ، اینا روهم اضافه کن.
using System.Runtime.InteropServices;
[DllImport("wininet.dll")]
سلام بر مردان خدا
اقا ما عين كدهاي سي شارپ بالا را نوشتيم هيچ خبري نشد!!!!!!!!!! ارور زير را ميده:
Unable to find an entry point named 'InternetGetConnectionSatate' in DLL 'wininet.dll'.
کدوم کد ها رو نوشتی؟
من یا دوست عزیز جناب hamedre81 ؟
خودم الان تست کردم ، درست بود.
شاید اشتباه نوستی ، یه نگاه بنداز :
connection test.rar
قسم مي خورم كه كدهام عين كد شما بود اما جواب نمي داد اما كد شما را كه عينا كپي كردم جواب داد
دستت شفاست احسان جان
واقعاً تشکر فقط کمی در مورد نحوه کارش توضیح میدی مثلاً
[DllImport("wininet.dll")]
تشکر فراوان
همیشه لازم نیست ببینید دیگران چگونه کد نویسی می کنند ، می تونید خودتون روش های جدید کشف کنید :
روش من اینه که مثل اب خوردن می مونه :
من در اینجا گفتم این رشته رو برگردون در صورتی که نتونستی بر گردونه پس حتما اینترنت وصل نیست. . .
using System.Net;
namespace WindowsFormsApplication5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
WebClient web = new WebClient();
web.DownloadString("http://err0r.ir");
MessageBox.Show("Your system is connect to the internet");
}
catch
{
MessageBox.Show("Error : \nYour system not connect to the internet");
}
}
}
}
کد بالا دیر جواب میده
بفرما این سریع جواب میده سوالی بود در خدمتم
Connect To Internet.rar
با سپاس Spaceman
باید هم دیر جواب بده. در این کد سورس html یک آدرس دریافت میشه که برای چک کردن اتصال اصلا منطقی نیست. در ثانی اگر اون آدرس دیگه در دسترس نباشه تکلیف چیه؟
بهتره از امکاناتی که خود سیستم عامل در قالب API در اختیار میزاره استفاده کنید مثل کدی که ehsan7007 قرار داده.
سلام خوبی این کد بدردت میخوره و کار میکنه
اول یه کلاس ایجاد کن و این دستور داخلش قرار بده و کلاست رو عمومی کن
public bool checkInternetCon()
{
try
{
using (var client = new WebClient())
using (client.OpenRead("https://www.google.com/"))
{
return true;
}
}
catch
{
return false;
}
}
حالا برای استفاده کردن به این صورت عمل کنید.
کلاس رو از بسازید و صداش کنید
به این صورت کلاس صدا کنید.
Cls_NeedCode needCode = new Cls_NeedCode();
و در هرجا نیاز داشتید دستور بررسی اینترنت رو صدا کنید.
if (needCode.checkInternetCon())
{
//به معنی اینکه به اینترنت وصلی کارها برای ارتباط داری انجام بده.
}
else if (!needCode.checkInternetCon())
{
//کارهای که به اینترنت وصل نیستی انجام بده
}
من تمام اون روش تست کردم چون اگه نت داشته باشه ولی گوگل بالا نیاد پس سیستم دوچار قحطی موقت هستش ولی تو اون روش ها نشان نمیده ولی در این روش نشان میده چون میخواستم با نرم افزارم پیامک بفرستم این روش نوشتم بدون مشکل جواب داد.
سلام
class Program
{
static void Main(string[] args)
{
if(CheckInternetConnection())
Console.WriteLine("Internet var");
else Console.WriteLine("Internet yok");
Console.ReadLine();
}
public static bool CheckInternetConnection()
{
try
{
using (var client = new WebClient())
using (var stream = client.OpenRead("http://www.google.com"))
{
return true;
}
}
catch
{
return false;
}
}
}
دست همگی درد نکنه اما این روش شاید منطقی به نظر بیاد ولی خطا داره و دارای اِشکال
اشکال چی هست؟
شما کافیه اتصالتون به صورت limit باشه؛ توی این روش باز هم شما رو به متصل فرض میکنه.
این اتفاقی بود که سالیان پیش باهاش مواجه شدم و در نهایت تصمیم به استفاده از روش ping گرفتم.
یک ping google راهکار منه