السلام عليكم ورحمة الله وبركاته
أخي العزيز ... علي
تعود الدالة بـ False لأن الـ TimeOut الافتراضي لها هو 500 ملي ثانية (يعني نص ثانية) ولو الانترنت عندك بطيئ جداً فبالتأكيد ستخرج الدالة بـ False إذا انتهت الـنصف ثانية الافتراضية قبل التحقق من الموقع المطلوب .
وقد قمت بتجربة ذلك حيث وضعت زمن الخروج بـ 100 مللي ثانية فظهرت لي النتيجة False .
لذلك حدد الـ TimeOut للدالة كالتالي :
PHP كود :
If My.Computer.Network.Ping("google.com",2000) Then
MsgBox("موصول")
Else
MsgBox("غير موصول")
End If
حددنا الزمن الذي ستستغرقه الدالة بثانيتين ، يمكنك زيادته اذا اقتضى الأمر
والله أعلم
****
***
**
*
السلام عليكم ورحمة الله
جزاك الله خيرا اخى الحبيب kslawy
فعلا انا جربت الفكرة دى لدرجة انى اعطيتعا 10 ثوانى هههههه قلت خليها تاخد راحتها
وكانت نفس المشكلة
ولاكن اليوم بجرب لقيتها اشتغلت تمام
الله المستعان
شكل الجهاز كان مهنج
على العموم الى اقدر اقوله ان الدالة دى لا يمكن الاعتماد عليها فى التحقق من ذلك
الدالة الى تخطئ مرة من الممكنن ان تخطئ الاف المرات
وجزاك الله خيرا
السلام عليكم ورحمة الله وبركاته
أخي إذا كانت الشبكة عليها كلمة سر
فلازم تسجل دخول إلى الشبكة عن طريق البرنامج
أنا كتبت لك طريقة لعمل اتصال بموقع وبناء على رسالة الخطأ - إن وجدت -
نستطيع معرفة هل الجهاز متصل بالنت أم لا
لاحظ معي المثال
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim Proxy As New System.Net.WebProxy(Host:="193.193.192.2", port:="8080")
Dim UserName_Password As New System.Net.NetworkCredential("اسم المستخدم", "كلمة السر")
Proxy.Credentials = UserName_Password
Dim req As System.Net.HttpWebRequest = System.Net.WebRequest.Create("http://www.facebook.com")
req.Proxy = Proxy
Dim res As System.Net.HttpWebResponse = req.GetResponse()
Catch ex As Exception
Select Case ex.Message
Case "Unable to connect to the remote server"
'لا يوجد اتصال
Case "The remote server returned an error: (407) Proxy Authentication Required."
'يحتاج إلى تصريح دخول إلى النت
Case Else
End Select
End Try
End Sub
بالتوفيق
تفضل اخى
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If IsWebConnected() Then
PictureBox1.BackgroundImage = My.Resources.Ok
PictureBox1.BackgroundImageLayout = ImageLayout.Center
Label1.Text = "You Are Connected To The Internet"
Else
PictureBox1.BackgroundImage = My.Resources.Delete
PictureBox1.BackgroundImageLayout = ImageLayout.Center
Label1.Text = "You Are Not Connected To The Internet"
End
انشاء Module جديد وى اضف هذا الكود
كود :
Module Module1
Private Declare Function InternetGetConnectedState Lib "wininet" (ByRef dwflags As Long, ByVal dwReserved As Long) As Long
Private Const CONNECT_LAN As Long = &H2
Private Const CONNECT_MODEM As Long = &H1
Private Const CONNECT_PROXY As Long = &H4
Private Const CONNECT_OFFLINE As Long = &H20
Private Const CONNECT_CONFIGURED As Long = &H40
Private Const CONNECT_RAS As Long = &H10
Public Function IsWebConnected(Optional ByRef ConnType As String = "") As Boolean
Dim dwflags As Long
Dim WebTest As Boolean
WebTest = InternetGetConnectedState(dwflags, 0&)
Select Case WebTest
Case dwflags And CONNECT_LAN : ConnType = "LAN"
Case dwflags And CONNECT_MODEM : ConnType = "Modem"
Case dwflags And CONNECT_PROXY : ConnType = "Proxy"
Case dwflags And CONNECT_OFFLINE : ConnType = "Offline"
Case dwflags And CONNECT_CONFIGURED : ConnType = "Configured"
Case dwflags And CONNECT_RAS : ConnType = "Remote"
End Select
IsWebConnected = WebTest
End Function
End Module
مثال فى المرفق
مشكور اخي بس انا لو عاوز اخلي الجزء الخاص بالبحث حاله النت في الفوريم وليس الفوريم كله يعمل refresh كل 3 ثواني ممكن تفدني بهذا الكود و شكراً
السلام عليكم ورحمة الله
جزاكم الله خيرا وجعله فى موازين حسناتكم
اخى الحبيب
لا ادرى لما الخطاء دائما يعود
Unable to connect to the remote server
هههه sooriaty03
حتى مع توصيل الانرنت وصحة البنات ( الاسم وكلمة السر )
اخى الكريم اسامة جزاك الله خيرا
رجاء خاص منك او من اى احد من الاخوة جزاكم الله خيرا شرح هذا الكود لان فيه اشياء اول مرة اراها
PHP كود :
'- اريد شرح هذه الدالة بالتفصيل وكيف تم عملها فى سطر واحد
Private Declare Function InternetGetConnectedState Lib "wininet" (ByRef dwflags As Long, ByVal dwReserved As Long) As Long
'- ما هذه المتغيرات
'- وما &H2 و &H1 و &H4 ووووو
Private Const CONNECT_LAN As Long = &H2
Private Const CONNECT_MODEM As Long = &H1
Private Const CONNECT_PROXY As Long = &H4
Private Const CONNECT_OFFLINE As Long = &H20
Private Const CONNECT_CONFIGURED As Long = &H40
Private Const CONNECT_RAS As Long = &H10
Public Function IsWebConnected(Optional ByRef ConnType As String = "") As Boolean
Dim dwflags As Long
Dim WebTest As Boolean
WebTest = InternetGetConnectedState(dwflags, 0&)
Select Case WebTest
'- dwflags هى من نوع لونج كيف يتم التحقق منها
'- اريد شرح هذه الطريقة فى التحقق
Case dwflags And CONNECT_LAN : ConnType = "LAN"
Case dwflags And CONNECT_MODEM : ConnType = "Modem"
Case dwflags And CONNECT_PROXY : ConnType = "Proxy"
Case dwflags And CONNECT_OFFLINE : ConnType = "Offline"
Case dwflags And CONNECT_CONFIGURED : ConnType = "Configured"
Case dwflags And CONNECT_RAS : ConnType = "Remote"
End Select
IsWebConnected = WebTest
End Function
مشكور اخي بس انا لو عاوز اخلي الجزء الخاص بالبحث حاله النت في الفوريم وليس الفوريم كله يعمل refresh كل 3 ثواني ممكن تفدني بهذا الكود و شكراً
مشكوووووووور أخي أسامة على المثال الرائع,
و لكن مثل ما تفضل أخي (علي), هل من الممكن شرح الكود
تحياتي