本文整理汇总了VB.NET中System.Net.IPAddress类的典型用法代码示例。如果您正苦于以下问题:VB.NET IPAddress类的具体用法?VB.NET IPAddress怎么用?VB.NET IPAddress使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了IPAddress类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的VB.NET代码示例。
示例1: IPAddresses
' This program shows how to use the IPAddress class to obtain a server
' IP addressess and related information.
Imports System.Net
Imports System.Net.Sockets
Imports System.Text.RegularExpressions
Namespace Mssc.Services.ConnectionManagement
Module M_TestIPAddress
Class TestIPAddress
'The IPAddresses method obtains the selected server IP address information.
'It then displays the type of address family supported by the server and
'its IP address in standard and byte format.
Private Shared Sub IPAddresses(ByVal server As String)
Try
Dim ASCII As New System.Text.ASCIIEncoding()
' Get server related information.
Dim heserver As IPHostEntry = Dns.Resolve(server)
' Loop on the AddressList
Dim curAdd As IPAddress
For Each curAdd In heserver.AddressList
' Display the type of address family supported by the server. If the
' server is IPv6-enabled this value is: InterNetworkV6. If the server
' is also IPv4-enabled there will be an additional value of InterNetwork.
Console.WriteLine(("AddressFamily: " + curAdd.AddressFamily.ToString()))
' Display the ScopeId property in case of IPV6 addresses.
If curAdd.AddressFamily.ToString() = ProtocolFamily.InterNetworkV6.ToString() Then
Console.WriteLine(("Scope Id: " + curAdd.ScopeId.ToString()))
End If
' Display the server IP address in the standard format. In
' IPv4 the format will be dotted-quad notation, in IPv6 it will be
' in in colon-hexadecimal notation.
Console.WriteLine(("Address: " + curAdd.ToString()))
' Display the server IP address in byte format.
Console.Write("AddressBytes: ")
Dim bytes As [Byte]() = curAdd.GetAddressBytes()
Dim i As Integer
For i = 0 To bytes.Length - 1
Console.Write(bytes(i))
Next i
Console.WriteLine(ControlChars.Cr + ControlChars.Lf)
Next curAdd
Catch e As Exception
Console.WriteLine(("[DoResolve] Exception: " + e.ToString()))
End Try
End Sub
' This IPAddressAdditionalInfo displays additional server address information.
Private Shared Sub IPAddressAdditionalInfo()
Try
' Display the flags that show if the server supports IPv4 or IPv6
' address schemas.
Console.WriteLine((ControlChars.Cr + ControlChars.Lf + "SupportsIPv4: " + Socket.SupportsIPv4.ToString()))
Console.WriteLine(("SupportsIPv6: " + Socket.SupportsIPv6.ToString()))
If Socket.SupportsIPv6 Then
' Display the server Any address. This IP address indicates that the server
' should listen for client activity on all network interfaces.
Console.WriteLine((ControlChars.Cr + ControlChars.Lf + "IPv6Any: " + IPAddress.IPv6Any.ToString()))
' Display the server loopback address.
Console.WriteLine(("IPv6Loopback: " + IPAddress.IPv6Loopback.ToString()))
' Used during autoconfiguration first phase.
Console.WriteLine(("IPv6None: " + IPAddress.IPv6None.ToString()))
Console.WriteLine(("IsLoopback(IPv6Loopback): " + IPAddress.IsLoopback(IPAddress.IPv6Loopback).ToString()))
End If
Console.WriteLine(("IsLoopback(Loopback): " + IPAddress.IsLoopback(IPAddress.Loopback).ToString()))
Catch e As Exception
Console.WriteLine(("[IPAddresses] Exception: " + e.ToString()))
End Try
End Sub
Public Shared Sub Main(ByVal args() As String)
Dim server As String = Nothing
' Define a regular expression to parse user's input.
' This is a security check. It allows only
' alphanumeric input string between 2 to 40 character long.
Dim rex As New Regex("^[a-zA-Z]\w{1,39}$")
If args.Length < 1 Then
' If no server name is passed as an argument to this program, use the current
' server name as default.
server = Dns.GetHostName()
Console.WriteLine(("Using current host: " + server))
Else
server = args(0)
If Not rex.Match(server).Success Then
Console.WriteLine("Input string format not allowed.")
Return
End If
End If
' Get the list of the addresses associated with the requested server.
IPAddresses(server)
' Get additional address information.
IPAddressAdditionalInfo()
End Sub
End Class
End Module
End Namespace