PDA

نسخه کامل مشاهده نسخه کامل : چطوری بفهمم یوزر به اینترنت وصل هست یا نه؟



whisper
29-04-2007, 12:56
سلام دوستان
من چطوری میتونم بعد از اجرای برنامه ام بفهمم که سیستمی که برنامه روس لود شده به اینترنت وصل هست یا نه:13:
:40: البته تو VB.net

hamidreza_buddy
29-04-2007, 21:15
یه تابع API در ویندوز هست که اینکارو انجام میده. ولی این تابع در صورت تنظیم نبودن Explorer نتایج غلط بر می گردونه.

یه روش دیگه اینه که یه درخواست وب (Web Request) بدی و ببینی که آیا جوابی داده میشه یا نه؟
قطعه کد زیر همین کارو می کنه. اگه ازتباطی برقرار شد نتیجه می گیریم که به اینترنت متصلیم و true برگردانده می شود. در صورت عدم اتصال به اینترنت یک Exception رخ می دهد که در همان تابع گرفته می شود و false برگردانده می شود:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

به صورت زیر می توان از این کد استفاده کرد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اینجا ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) رو هم نگاهی بنداز مربوط به دریافت اطلاعات مربوط به شبکه هست.

whisper
30-04-2007, 10:12
آقا دستت درد نکنه توضیحت خیلی کامله
فقط اگه میشه بگید این دستور Try چیکار میکنه؟!!

hamidreza_buddy
30-04-2007, 17:52
بیبین توی .NET یه سیستم خطایابی هست به نام Exception ها.
یک کلاس کلی وجود داره به نام Exception که همۀ exception ها را از آن مشتق می کنند.
هنگامی که خطایی غیرمنتظره روی داد این exception ها اصطلاحاً پرتاب (throw) می شوند.
مثلاً اگر یک عدد را بر صفر تقسیم کنیم، یک exception به نام DivisionByZeroException پرتاب می شود.
حال اگر این پرتاب شدن درون یک بلوک try باشد برنامه به بخش catch می رود و می توان در آن جا پیام مناسبی به کاربر نشان داد.
در غیر این صورت (اگر در بلوک try نباشد) برنامه متوقف می شود.

یه برنامه نوشتم که نحوۀ بکارگیری exception ها رو نشون میده (البته به c#):
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دکمۀ اول کد زیر توشه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که خطای زیر رو تولید می کنه و سپس برنامه متوقف میشه:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

دکمۀ دوم کد زیر توشه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که exception پرتاب شده رو handle می کنه و پیامی نشون میده ولی برنامه برمی گرده به صفحۀ اول و متوقف نمیشه.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

دکمۀ سوم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که یه فایلی که وجود نداره رو باز می کنه:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


دکمۀ چهارم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

که پیام مناسب رو به کاربر نشون میده.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


توی این سایت ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) هم دربارۀ Exception Handling آموزش فارسی هست.

whisper
03-05-2007, 09:12
آقا دستت درد نکنه من تو این 2 روز خودمم رفتم تو یه کتاب گشتم دستور Try رو پیدا کرد بعد فکر کردم خیلی کامل یاد گرفتم ولی با توضیح کامل و بی نقص شما متوجه شدم که الان این اتفاق افتاده

hamidreza_buddy
06-05-2007, 22:23
آقا دستت درد نکنه من تو این 2 روز خودمم رفتم تو یه کتاب گشتم دستور Try رو پیدا کرد بعد فکر کردم خیلی کامل یاد گرفتم ولی با توضیح کامل و بی نقص شما متوجه شدم که الان این اتفاق افتاده

ما چاکریم!
البته باید بگم که مبحث exception ها خیلی وسیع تره. یعنی ما یه سری exception استاندارد داریم که از پیش تعریف شده اند ولی ممکنه نیاز بشه که exception های جدیدی ایجاد کنیم. (که به user-defined Exception معروفند)
اینجا هارو یه نگاه بنداز:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

و یا توی اینترنت واسه Exception in C3 و یا .NET سرچ بزن این مطالبو پیدا می کنی.