PDA

View Full Version : آموزش: بررسی اتصال به اینترنت با روشی کاملا مطمئن



butterfly8528
جمعه 21 مرداد 1390, 17:00 عصر
سلام دوستان عزیز .
همانطور که میدونید روش های مختلفی برای بررسی اتصال به اینترنت وجود داره که هر کدوم مشکل خواص خودش رو داره،برای بررسی مطمئن اتصال به اینترنت که در همه حال درست جواب بده بنده دو روش سراغ دارم :
1- Ping کردن یک آدرس اینترنتی معتبر که امکان Down شدن آن خیلی کم باشه(مانند گوگل و یاهو) ،و انتظار برای دریافت پاسخ،که ایراد این روش این هست که کمی طول میکشه تا پاسخ Ping دریافت بشه .
2- اما در روش دوم با استفاده از تابع InternetCheckConnection به صورت خیلی سریع می تونید اتصال به اینترنت رو بررسی کنید :

'www.arshamsoft.com

Option Explicit

Private Declare Function InternetCheckConnection Lib "wininet.dll" Alias "InternetCheckConnectionA" (ByVal lpszUrl As String, ByVal dwFlags As Long, ByVal dwReserved As Long) As Long


Private Function InternetConnectionIsEstablished() As Boolean
InternetConnectionIsEstablished = CBool(InternetCheckConnection("http://www.google.com/", &H1, ByVal 0&))
End Function


Private Sub Form_Load()
MsgBox InternetConnectionIsEstablished
End Sub



موفق باشید :چشمک:.

محسن واژدی
جمعه 21 مرداد 1390, 18:36 عصر
سلام علیکم
شاید روش زیر سریعتر باشد:

Private Declare Function InternetGetConnectedStateEx _
Lib "wininet.dll" (ByRef lpdwFlags As Long, _
ByVal lpszConnectionName As String, _
ByVal dwNameLen As Integer, _
ByVal dwReserved As Long) As Long

Public Function InternetConnectionIsEstablished() As Boolean
On Error Resume Next
InternetConnectionIsEstablished = InternetGetConnectedStateEx(0&, vbNullString, ByVal 0&, ByVal 0&) = 1
End Function

Private Sub Form_Load()
MsgBox "Is connected: " & InternetConnectionIsEstablished
End Sub



موفق باشید

butterfly8528
جمعه 21 مرداد 1390, 19:24 عصر
سلام .
mohsenvj عزیز این کد رو در سیستمی که از اینترنت شیر شده توسط سرور استفاده کنه،تست کردی ؟
معمولا در این حالت مشکل پیش میاد .

محسن واژدی
جمعه 21 مرداد 1390, 19:45 عصر
سلام .
mohsenvj عزیز این کد رو در سیستمی که از اینترنت شیر شده توسط سرور استفاده کنه،تست کردی ؟
معمولا در این حالت مشکل پیش میاد .
سلام علیکم
نه فقط در یک کامپیوتر شبکه نشده تست کرده ام که همیشه جوابگو بوده است، البته دارای پارامترهای دیگری برای سایر موارد هم است

موفق باشید

محسن واژدی
شنبه 22 مرداد 1390, 07:56 صبح
آنگونه که جناب butterfly8528 گفتند ممکن است کد بالا (کد قدیمی پست 2) ممکن است در شبکه های محلی LAN با مشکل مواجه شود، برای جلوگیری از بروز این مشکل دستور بررسی کننده LAN را از شرط خارج کردم، علاوه بر این روال را کاملا" مختصر کردم تا از پیچیدگی درآمده باشد
توجه داشته باشید که کد ویرایش شده بجز بررسی وضعیت اتصال هیچ جزئیات دیگری را در اختیار قرار نمی دهد

موفق باشید