PDA

View Full Version : سوال: چطور بفهمم سیستم به اینترنت متصل شده ؟



mdssoft
پنج شنبه 30 خرداد 1387, 18:46 عصر
سلام به همگی

بچه ها من می خوام یه برنامه بنویسم با این ویژگی :
به محض اتصال سیستم به اینترنت پیغامی به کاربر بده

حالا نمی نمی دونم چطور باید بفهمم سیستم به اینترنت متصل شده .
میشه راهنمایی کنید !

sinpin
پنج شنبه 30 خرداد 1387, 19:53 عصر
دو راهي كه في البداهه به ذهن ميرسه :
1- دستور rasdial رو اجرا (از طريق process) كنيد اگه خروجي اون مخالف با no connection بود يعني سيستم به اينترنت وصل است. (تنها براي dialup و adsl جواب ميدهد)

2- يك سايت (مثل google.com) يا يك IP معتبر (مانند 1.1.1.1 يا 4.2.2.1) رو ping (يا tracert يا pathping) كنيد اگه پاسخ مثبت بود سيستم به اينترنت متصل است

mdssoft
پنج شنبه 30 خرداد 1387, 20:40 عصر
ممنون sinpin (http://barnamenevis.org/forum/member.php?u=6235)
اما من تو #C تازه کارم و توضیحات شما خیلی کلی .
میشه کمی بیشتر توضیح بدین.

در ضمن این برنامه باید تو بک گراند کار کنه و به محض اتصال به اینترنت متوجه بشه . در این صورت چطور باید برنامه همیشه فعال و گوش به زنگ باشه !!!

Zaparo
جمعه 31 خرداد 1387, 05:54 صبح
this.onineStatuse.Checked = SystemInformation.Nerwork;
راه دیگه با WMI

mdssoft
جمعه 31 خرداد 1387, 23:16 عصر
بابا تو رو خدا یه کم توضیح بدین یا یه لینکی بزارید بریم بخونیم.
همین جوری کد می گذارید که آدم متوجه نمی شه !

Zaparo
شنبه 01 تیر 1387, 07:36 صبح
بابا تو رو خدا یه کم توضیح بدین یا یه لینکی بزارید بریم بخونیم.
همین جوری کد می گذارید که آدم متوجه نمی شه !

توضیح چی میخوای اخه؟
من که نوشتم با همون 1 خط کد اول میتونی در بیاری اگه نخواستی هم با API میشه هم WMI

whatsoop
شنبه 01 تیر 1387, 16:00 عصر
من هم معمولا از این روش استفاده میکنم:
"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") استفاده میکنم.