Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1551 | Anzahl registrierter User: 1841 | Besucher online: 146
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Eigene IP - die 2.te - mit Reg.-Expressions


Autor: Volker Steitz
Sprache: VB.NET
Bewertung:
8.11 (2 votes)
Anzahl der Aufrufe: 6247
  
Kick it on dotnet-kicks.de  

Beschreibung:

Dies ist ebenfalls ein Code der die eigene - die öffentliche - IP-Adresse ermittelt und prüft, ob sie mit der IP des Rechners übereinstimmt. So wird ermittelt, ob man direkt mit dem WWW oder hinter einem Router, Proxy, etc. steht.

ich habe ebenfalls als Provider "http://myip.bdsw.de" verwandt.


Abgelegt unter: IP, Public IP.



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
'Der Übersicht halber habe ich eine Klasse clsSVSS erstellt. Diese nimmt die Grundfunktionlität auf.
 
Imports System.IO
Imports System.Text
Imports System.Net


Public Class clsSVSS  

    Private Const svssIPCall As String = "http://myip.bdsw.de"

    Public Shared Function GetRouterIpAddress() As Net.IPAddress

        Try
            Dim wb As New Net.WebClient
            Dim b() As Byte = wb.DownloadData(svssIPCall)
            Dim line As String = System.Text.Encoding.Default.GetString(b)
            Dim pattern As String = "\b(?:\d{1,3}\.){3}\d{1,3}\b"
            Dim regEx As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(pattern)
            If regEx.Matches(line).Count < 1 Then Return Net.IPAddress.None
            Return Net.IPAddress.Parse(regEx.Matches(line).Item(0).Value)
        Catch ex As Exception
            Return Nothing
        End Try

    End Function

end class



'In der Hauptanwendung gibt es ein Listviewsteuerelement (zur besseren Darstellung) und die folgende Function
im load Ereignis


Function GetPublicIP()


   Me.Listview7.clear
   Me.ListView7.Columns.Add("Public IP-Address", 236, HorizontalAlignment.Left)
   Me.ListView7.Columns.Add("Status", 237, HorizontalAlignment.Left)

   Dim strHostName As String = System.Net.Dns.GetHostName.ToString
    Dim routerIp As Net.IPAddress = clsSVSS.GetRouterIpAddress()
    Dim staticIp As Net.IPAddress = Net.Dns.GetHostEntry(Environment.MachineName).AddressList(0)
    Dim lvi As New ListViewItem

       Me.Refresh()
       Thread.Sleep(100)

      If routerIp.Equals(staticIp) Then
        lvi.Text = staticIp.ToString()
        lvi.SubItems.Add(Trim("Machine is directly connected to the internet."))
        Me.ListView7.Items.Add(lvi)

        Else
          lvi.Text = routerIp.ToString()
          lvi.SubItems.Add(Trim("Your machine is configured behind a router."))
              Me.ListView7.Items.Add(lvi)
                    End If

                    For Each locColumn As ColumnHeader In Me.ListView7.Columns
                        If Not locColumn.Index = 0 Then
                            locColumn.Width = -2
                        End If
                    Next

End Function
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Justus schrieb am:  14.07.2009 13:13:14

Hmm, es gibt da eine eigene Methode um IP-Adressen vom lokalen Rechner rauszubekommem. .Net stellt dazu die Funktion NetworkInterface.GetAllNetworkInterfaces() zur Verfügung. Ich hab das auf http://halloserv.de/blog/index.php?/archives/80-Lokale-IPs-rausfinden.html genauer beschrieben.


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.