Announcement

Collapse
No announcement yet.

VB2005 - LAN-Verbindung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • VB2005 - LAN-Verbindung

    Hallo zusammen,
    gibt es eine Möglichkeit meine LAN-Verbindung zu überwachen.?
    Ich möchte das eingehende- und rausgehende Datenvolumen ( die über meine Netzverbindung ) und die dazu gehörende Zeit protokollieren. Aus der Summe des Datenvolumens und der Zeit möchte ich die durchschnittliche „Transferrate“ bestimmen.

    Ich habe aber keine Idee wie ich per Code feststellen kann ob ich Netzverbindung habe und wann diese wieder abbricht.
    Ich habe auch keine Idee wie ich den eingebenden bzw. abgehenden Datentransfer bestimmen kann.

    Hat jemand eine Idee oder sogar etwas Code für mich....?


    Bin für jeden Tipp dankbar....

  • #2
    Hallo,

    ..per Code feststellen kann ob ich Netzverbindung habe ...
    hier hilft My.Computer.Network weiter.

    Comment


    • #3
      Bessere Möglichkeit als Ping um Webzugriff festzustellen...?

      OK.
      Ich hab da etwas gefunden um das DatenVolumen meiner aktiven Netzwerkkarte abzugreifen:

      Code:
      If NetworkInterface.GetIsNetworkAvailable() Then
      
            ' Determine maximum interface speed
            Dim currentBytes, maxBytes As Long
            Dim maxInterface As NetworkInterface = Nothing
      
            Dim interfaces As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
            For Each iface As NetworkInterface In interfaces
      
              If (iface.NetworkInterfaceType = NetworkInterfaceType.Loopback) OrElse _
                  Not (iface.OperationalStatus = OperationalStatus.Up) Then
                Continue For
              End If
      
              currentBytes = iface.GetIPv4Statistics().BytesReceived + iface.GetIPv4Statistics().BytesSent
      
              If (currentBytes > maxBytes) Then
      
                maxInterface = iface
                maxBytes = currentBytes
              End If
            Next
      
            If Not IsNothing(maxInterface) Then
      
      	lngIn = maxInterface.GetIPv4Statistics().BytesReceived
              lngOut = maxInterface.GetIPv4Statistics().BytesSent
           end if
      
      end if

      Da ich nun wissen möchte ob ich Webzugriff habe ich noch folgendes ( per Ping ) gemacht:

      Private pingHandler As PingCompletedEventHandler
      ''' <summary>
      ''' Determines if a given host is reachable using ping
      ''' </summary>
      Private Sub CheckHostReachable(ByVal host As String)
      ' Host = "google.de"
      Try
      Dim p As New Ping()
      AddHandler p.PingCompleted, pingHandler
      'Me.ChkBxhostReachable.CheckState = CheckState.Indeterminate
      '
      p.SendAsync(host, PintTimeOut, Nothing)
      Catch
      ' Me.ChkBxhostReachable.CheckState = Fale
      blnWebStatus = False
      End Try
      End Sub

      ''' <summary>
      ''' Event handler invoked when ping is complete
      ''' </summary>
      Sub p_PingCompleted(ByVal sender As Object, ByVal e As PingCompletedEventArgs)

      If Me.InvokeRequired Then
      Invoke(pingHandler, sender, e)
      Return
      End If

      'ChkBxhostReachable.CheckState = CType(IIf(e.Error Is Nothing AndAlso e.Reply.Status = IPStatus.Success, CheckState.Checked, CheckState.Unchecked), CheckState)
      If (e.Error Is Nothing AndAlso e.Reply.Status = IPStatus.Success) Then
      '################################################# #######
      blnWebStatus = True
      Else
      'richtig
      blnWebStatus = False
      End If
      Me.ChkBxhostReachable.Invoke(MyMiWChk)
      End Sub

      Da ich dies über einen Timer realisieren muss, ständig nachsehen ob noch Webzugriff oder nicht, erhöhe ich natürlich künstlich das Übertragungsvolumen.....


      Nun meine Frage:

      Kennt jemand eine bessere Möglichkeit festzustellen ob ich Webzugriff habe oder nicht...?

      Comment

      Working...
      X