منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كيف نتحقق من الاتصال بالموقع قبل تحميل ملف - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : كيف نتحقق من الاتصال بالموقع قبل تحميل ملف (/showthread.php?tid=2547)



كيف نتحقق من الاتصال بالموقع قبل تحميل ملف - سعود - 12-04-14

قبل اجراء هذا الكود اريد التحقق ان الموقع يعمل
كود :
Dim res As HttpWebResponse = req.GetResponse

كتبت قبله الكود التالي:
كود :
tt:
                If bb.CancellationPending = True Then
                    Exit For
                    Exit Sub
                End If
                If My.Computer.Network.Ping(justdo) = False Then
                    fil_lblstate("تم فقد الاتصال .. جاري اعادة المحاولة")
                    GoTo tt
                End If

لكن لا ينجح دائما
فهل يوجد كود افضل منه


RE: كيف نتحقق من الاتصال بالموقع قبل تحميل ملف - سعود - 12-04-14

ايضا ياليت بفكرة روتين مستقل للتحقق من الاتصال بالشبكة و بالانترنت واذا تم فصل الشبكة اثناء التشغيل اريد فكرة الغاء عمل التحميل download


RE: كيف نتحقق من الاتصال بالموقع قبل تحميل ملف - سعود - 12-04-14

حين فصلت كبل الايثرنت وبعد دقائق توقف المشروع على رسالة
The request was aborted: The operation has timed out.



RE: كيف نتحقق من الاتصال بالموقع قبل تحميل ملف - سعود - 12-04-14

طبعا اريد من غير try لان هذه الجملة رغم روعتها الا انها تفوت الكثير لمشكلة يمكن حلها لثواني


RE: كيف نتحقق من الاتصال بالموقع قبل تحميل ملف - الكاتب - 12-04-14

ممكن يفيدك هالكود

إقتباس : Try
If TextSite.Text.Contains("http://") Then
Dim iphe As IPHostEntry = Dns.GetHostEntry(TextSite.Text.Replace("http://", String.Empty))
TextIp.Text = iphe.AddressList(0).ToString()
Else
Dim iphe As IPHostEntry
iphe = Dns.GetHostEntry(TextSite.Text)
TextIp.Text = iphe.AddressList(0).ToString()
End If
Catch ex As Exception

End Try

لاتنسى
إقتباس :Imports System.Net

الكود يجلب ايبي الموقع حاول تحوله يتحقق من العنوان الفيزيائي إذا وجده فمعناته الموقع موجود وهكذا

كود التحقق من الاتصال بالشبكة

إقتباس :If My.Computer.Network.IsAvailable Then
MsgBox("Connected")
ElseIf Not My.Computer.Network.IsAvailable Then
MsgBox("Not Connected")
End If

استخدم مع الكود الليبل والالوان افضل بدل MsgBox


RE: كيف نتحقق من الاتصال بالموقع قبل تحميل ملف - ali.alfoly - 13-04-14

راجع الاداة دي هتعجبك


كود :
#Region "   التحقق من وجود انترنت على الجهاز   "


    Public Class Check

        '- اداة التحقق الخفي
        Private WithEvents BackgroundWorker_Check_Net As New ComponentModel.BackgroundWorker

        ''' <summary>صب ابدء التحقق</summary>
        Public Sub Set_Check()
            If Not (Me.BackgroundWorker_Check_Net.IsBusy) Then
                '- بدء التحقق الخفي
                Me.BackgroundWorker_Check_Net.RunWorkerAsync()
            End If
        End Sub

        ''' <summary>حدث الانتهاء من التحقق</summary>
        Public Event Check_Complete(ByVal sender As Object, ByVal e As Boolean)

        '- بدء التحقق الخفي
        Private Sub BackgroundWorker1_DoWork(sender As Object, e As ComponentModel.DoWorkEventArgs) Handles BackgroundWorker_Check_Net.DoWork
            'System.Threading.Thread.Sleep(5000)
            Try
                If (Not My.Computer.Network.IsAvailable) OrElse _
                   (Not My.Computer.Network.Ping("www.google.com", 10000)) Then
                    e.Cancel = True
                    Exit Sub 'انهاء
                End If
            Catch ex As Exception
                e.Cancel = True
                Exit Sub 'انهاء
            End Try

        End Sub

        '- عند الانتهاء من التحقق
        Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker_Check_Net.RunWorkerCompleted

            If (Not (e.Error Is Nothing)) OrElse e.Cancelled Then
                '- تفجير الحدث
                RaiseEvent Check_Complete(Me, False)
            Else
                '- تفجير الحدث
                RaiseEvent Check_Complete(Me, True)
            End If

        End Sub

    End Class



#End Region