سلام به همگی
بچه ها من می خوام یه برنامه بنویسم با این ویژگی :
به محض اتصال سیستم به اینترنت پیغامی به کاربر بده
حالا نمی نمی دونم چطور باید بفهمم سیستم به اینترنت متصل شده .
میشه راهنمایی کنید !
سلام به همگی
بچه ها من می خوام یه برنامه بنویسم با این ویژگی :
به محض اتصال سیستم به اینترنت پیغامی به کاربر بده
حالا نمی نمی دونم چطور باید بفهمم سیستم به اینترنت متصل شده .
میشه راهنمایی کنید !
دو راهي كه في البداهه به ذهن ميرسه :
1- دستور rasdial رو اجرا (از طريق process) كنيد اگه خروجي اون مخالف با no connection بود يعني سيستم به اينترنت وصل است. (تنها براي dialup و adsl جواب ميدهد)
2- يك سايت (مثل google.com) يا يك IP معتبر (مانند 1.1.1.1 يا 4.2.2.1) رو ping (يا tracert يا pathping) كنيد اگه پاسخ مثبت بود سيستم به اينترنت متصل است
...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست
ممنون sinpin
اما من تو #C تازه کارم و توضیحات شما خیلی کلی .
میشه کمی بیشتر توضیح بدین.
در ضمن این برنامه باید تو بک گراند کار کنه و به محض اتصال به اینترنت متوجه بشه . در این صورت چطور باید برنامه همیشه فعال و گوش به زنگ باشه !!!
this.onineStatuse.Checked = SystemInformation.Nerwork;
راه دیگه با WMI
بابا تو رو خدا یه کم توضیح بدین یا یه لینکی بزارید بریم بخونیم.
همین جوری کد می گذارید که آدم متوجه نمی شه !
من هم معمولا از این روش استفاده میکنم:
"2- يك سايت (مثل google.com) يا يك IP معتبر (مانند 1.1.1.1 يا 4.2.2.1) رو ping (يا tracert يا pathping) كنيد اگه پاسخ مثبت بود سيستم به اينترنت متصل است"
کدش هم به این صورت هست:
if (my.Computer.Network.IsAvailable)
{
if (my.Computer.Network.Ping("192.9.9.3"))
{
Console.Write("Ping OK.");
}
else
{
Console.Write("Ping failed.");
}
}
else
{
console.WriteLine("No net is avalable.");
}
تو این روش آی پی 192.9.9.3 که سرویس DNS سان هست به وسیله پینگ چک میشه.
بعضی وقتها که پینگ بسته است یا از پراکسی برای اتصال به اینترنت استفاده میشه هم از چیزی مشابهmy.Computer.Network.DownloadFile("http://www.google.com/index.html")استفاده میکنم.