تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] التحقق من توصيل الجهاز بالانترنت
#11
السلام عليكم ورحمة الله وبركاته

أخي العزيز ... علي

تعود الدالة بـ False لأن الـ TimeOut الافتراضي لها هو 500 ملي ثانية (يعني نص ثانية) ولو الانترنت عندك بطيئ جداً فبالتأكيد ستخرج الدالة بـ False إذا انتهت الـنصف ثانية الافتراضية قبل التحقق من الموقع المطلوب .

وقد قمت بتجربة ذلك حيث وضعت زمن الخروج بـ 100 مللي ثانية فظهرت لي النتيجة False .

لذلك حدد الـ TimeOut للدالة كالتالي :
PHP كود :
If My.Computer.Network.Ping("google.com",2000Then
                MsgBox
("موصول")
            Else
                
MsgBox("غير موصول")
            
End If 
حددنا الزمن الذي ستستغرقه الدالة بثانيتين ، يمكنك زيادته اذا اقتضى الأمر

والله أعلم

****
***
**
*
(وَقُل رَّبِّ زِدْنِي عِلْمًا)

الرد }}}
تم الشكر بواسطة: سعود , @@أبورائد@@ , sooriaty03
#12
السلام عليكم ورحمة الله
جزاك الله خيرا اخى الحبيب kslawy
فعلا انا جربت الفكرة دى لدرجة انى اعطيتعا 10 ثوانى هههههه قلت خليها تاخد راحتها
وكانت نفس المشكلة
ولاكن اليوم بجرب لقيتها اشتغلت تمام
الله المستعان
شكل الجهاز كان مهنج
على العموم الى اقدر اقوله ان الدالة دى لا يمكن الاعتماد عليها فى التحقق من ذلك
الدالة الى تخطئ مرة من الممكنن ان تخطئ الاف المرات

وجزاك الله خيرا
الرد }}}
تم الشكر بواسطة: kslawy
#13
السلام عليكم ورحمة الله وبركاته

أخي إذا كانت الشبكة عليها كلمة سر
فلازم تسجل دخول إلى الشبكة عن طريق البرنامج

أنا كتبت لك طريقة لعمل اتصال بموقع وبناء على رسالة الخطأ - إن وجدت -
نستطيع معرفة هل الجهاز متصل بالنت أم لا

لاحظ معي المثال

كود :
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

بالتوفيق
الرد }}}
تم الشكر بواسطة: kslawy , سعود , @@أبورائد@@
#14
تفضل اخى
كود :
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
مثال فى المرفق


الملفات المرفقة
.rar   Check_Internet.rar (الحجم : 61.74 ك ب / التحميلات : 167)
الرد }}}
تم الشكر بواسطة: sooriaty03 , nin9e , aftfm , hoob computer
#15
مشكور اخي بس انا لو عاوز اخلي الجزء الخاص بالبحث حاله النت في الفوريم وليس الفوريم كله يعمل refresh كل 3 ثواني ممكن تفدني بهذا الكود و شكراً
الرد }}}
تم الشكر بواسطة:
#16
السلام عليكم ورحمة الله
جزاكم الله خيرا وجعله فى موازين حسناتكم
اخى الحبيب
لا ادرى لما الخطاء دائما يعود
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 
الرد }}}
تم الشكر بواسطة:
#17
مشكور اخي بس انا لو عاوز اخلي الجزء الخاص بالبحث حاله النت في الفوريم وليس الفوريم كله يعمل refresh كل 3 ثواني ممكن تفدني بهذا الكود و شكراً
الرد }}}
تم الشكر بواسطة:
#18
مشكوووووووور أخي أسامة على المثال الرائع,

و لكن مثل ما تفضل أخي (علي), هل من الممكن شرح الكود Smile


تحياتي
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] معرفة بيانات الجهاز محمد بوقزاحة 1 328 21-02-24, 11:44 PM
آخر رد: AHMED213
  التحقق من خلال محتوى خلية عن طريق textbox صالح عبدالله 2 224 24-01-24, 12:54 PM
آخر رد: صالح عبدالله
  [VB.NET] معرفة بيانات الجهاز محمد بوقزاحة 7 678 12-01-24, 07:31 PM
آخر رد: Kamil
  غير مسجل على الجهاز المحلي 'Microsoft.ace.oledb.12.0' ان الموفر Adel27213 2 413 30-11-23, 09:19 PM
آخر رد: Adel27213
  التحقق من معطيات قبل تشغيل البرنامج ابو محمد محمد محمد 3 512 30-04-23, 11:03 PM
آخر رد: عبدالله الدوسري
  كيفية الوصول الى القرص الصلب في الجهاز الخادم ابو محمد محمد محمد 0 407 20-04-23, 03:41 AM
آخر رد: ابو محمد محمد محمد
  [VB.NET] اريد طريقة حساب فرق بين تاريخ موجود في لست فيو وتاريخ الجهاز mac9 4 717 11-04-23, 10:23 AM
آخر رد: mac9
  [VB.NET] نقل جدول من السيرفر إلى الجهاز المحلى mmaalmesry 0 275 23-12-22, 06:48 PM
آخر رد: mmaalmesry
  تنصيب الجهاز لدى العميل حماده ممدوح البحيرى 1 312 15-12-22, 01:10 PM
آخر رد: Jounior_P
  مشكلة كريستتال ريبورت عند وجود نسختين فيجوال علي الجهاز atefkhalf2004 6 1,291 25-10-22, 11:31 PM
آخر رد: mohamedat

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم