Klasse VerbindingTest

Status
Niet open voor verdere reacties.

st0ne2thedge

Gebruiker
Lid geworden
26 nov 2008
Berichten
43
In veel programma's is het belangrijk dat verbinding met internet algemeen of met een bepaalde site of dergelijke goed gecheckt wordt.

Ik schreef laatst een klasse die dit vrij accuraat doet (vooral in vista zeer snel)

met de volgende eenvoudige source

Code:
Option Strict On
Option Explicit On
''' <summary>
''' Returns a value indicating your ability to connect to a certain server url
''' </summary>
''' <remarks></remarks>
Public Class CanConnect

    Private mVerbindingUrl As String

    ''' <summary>
    ''' Initialize the ConnectionTest, using custom url as a reference
    ''' </summary>
    ''' <param name="url"></param>
    ''' <remarks>When url equals "" a ArgumentException will occur</remarks>
    Public Sub New(ByVal url As String)
        mVerbindingUrl = url
    End Sub

    ''' <summary>
    ''' Initialize the ConnectionTest, using "http://www.google.com" as a reference
    ''' </summary>
    ''' <remarks></remarks>
    Public Sub New()
        mVerbindingUrl = "http://www.google.com"
    End Sub

    ''' <summary>
    ''' Checks the connection for availability
    ''' </summary>
    ''' <returns>if connection is available</returns>
    ''' <remarks></remarks>
    Public Function BepaalVerbindingStatus() As Boolean
        Dim isVerbinding As Boolean = False
        Dim url As New System.Uri(mVerbindingUrl)
        Dim req As System.Net.WebRequest
        Dim resp As System.Net.WebResponse
        If Not Trim(mVerbindingUrl) = "" Then
            req = System.Net.WebRequest.Create(url)
            Try
                resp = req.GetResponse()
                resp.Close()
                req = Nothing
                isVerbinding = True
            Catch ex As Exception
                req = Nothing
            End Try
        Else
            Throw New ArgumentException("'Url' can't be empty")
        End If
        Return isVerbinding
    End Function

End Class
Deze klasse riep ik dan in de networkStatusChanged event en de startup event van de application events op.

Ik probeer nu de klasse op dezelfde manier in mn classlib te steken maar met het gemak van deze application events. Zij maken dat heel het systeem geautomatiseerd kan worden. Ik heb al een paar tests uitgevoerd rond
Code:
My.Computer.Network.IsAvailable
maar dit is niet accuraat denk ik.

Nu is mijn vraag dus eigenlijk gewoon of er een manier is om in deze klasse een soortgelijke autmatisering in te schrijven a.d.h.v. events. :s :s
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan