指定した IP アドレスがループバック アドレスかどうかを示します。
Public Shared Function IsLoopback( _
ByVal address As IPAddress _) As Boolean
[C#]
public static bool IsLoopback(IPAddressaddress);
[C++]
public: static bool IsLoopback(IPAddress* address);
[JScript]
public static function IsLoopback(
address : IPAddress) : Boolean;
パラメータ
- address
IP アドレス。
戻り値
address がループバック アドレスの場合は true 。それ以外の場合は false 。
解説
IsLoopback メソッドは、 address と Loopback を比較し、2 つの IP アドレスが同じ場合は true を返します。
IPv4 の場合、 IsLoopback は、 Loopback (127.0.0.1) ではなく、127.X.Y.Z フォーム (X、Y、Z は 0 ~ 255 の値) の IP アドレスに対して true を返します。
使用例
[Visual Basic, C#, C++] IsLoopback プロパティを使用して、指定したアドレスがループバック アドレスかどうかを確認する例を次に示します。
Imports System
Imports System.Net
Imports System.Net.Sockets
_
Class IsLoopbackTest
'Entry point which delegates to C-style main Private Function
Public Overloads Shared Sub Main()
Main(System.Environment.GetCommandLineArgs())
End Sub
Overloads Private Shared Sub Main(args() As String)
If args.Length = 1 Then
' No parameters entered. Display program usage.
Console.WriteLine("Please enter an IP address.")
Console.WriteLine("Usage: >ipaddress_isloopback any IPv4 or IPv6 address.")
Console.WriteLine("Example: >ipaddress_isloopback 127.0.0.1")
Console.WriteLine("Example: >ipaddress_isloopback 0:0:0:0:0:0:0:1")
Return
' Parse the address string entered by the user.
Else
parse(args(1))
End If
End Sub 'Main
' This method calls the IPAddress.Parse method to check whether the
' passed ipAddress parameter is in the correct format.
' Then it checks whether it represents a loopback address.
' Finally, it displays the results.
Private Shared Sub parse(ipAdd As String)
Dim loopBack As String = " is not a loopback address."
Try
' Perform syntax check by parsing the address string entered by the user.
Dim address As IPAddress = IPAddress.Parse(ipAdd)
' Perform semantic check by verifying that the address is a valid IPv4
' or IPv6 loopback address.
If IPAddress.IsLoopback(address) And address.AddressFamily = AddressFamily.InterNetworkV6 Then
loopBack = " is an IPv6 loopback address " + "whose internal format is: " + address.ToString() + "."
Else
If IPAddress.IsLoopback(address) And address.AddressFamily = AddressFamily.InterNetwork Then
loopBack = " is an IPv4 loopback address " + "whose internal format is: " + address.ToString() + "."
End If
End If
' Display the results.
Console.WriteLine(("Your input address: " + """" + ipAdd + """" + loopBack))
Catch e As FormatException
Console.WriteLine("FormatException caught!!!")
Console.WriteLine(("Source : " + e.Source))
Console.WriteLine(("Message : " + e.Message))
Catch e As Exception
Console.WriteLine("Exception caught!!!")
Console.WriteLine(("Source : " + e.Source))
Console.WriteLine(("Message : " + e.Message))
End Try
End Sub 'parse
End Class 'IsLoopbackTest
[C#]
using System;
using System.Net;
using System.Net.Sockets;
class IsLoopbackTest
{
private static void Main(string[] args)
{
if (args.Length == 0)
{
// No parameters entered. Display program usage.
Console.WriteLine("Please enter an IP address.");
Console.WriteLine("Usage: >ipaddress_isloopback any IPv4 or IPv6 address.");
Console.WriteLine("Example: >ipaddress_isloopback 127.0.0.1");
Console.WriteLine("Example: >ipaddress_isloopback 0:0:0:0:0:0:0:1");
return;
}
else
// Parse the address string entered by the user.
parse(args[0]);
}
// This method calls the IPAddress.Parse method to check if the
// passed ipAddress parameter is in the correct format.
// Then it checks whether it represents a loopback address.
// Finally, it displays the results.
private static void parse(string ipAddress)
{
string loopBack=" is not a loopback address.";
try
{
// Perform syntax check by parsing the address string entered by the user.
IPAddress address = IPAddress.Parse(ipAddress);
// Perform semantic check by verifying that the address is a valid IPv4
// or IPv6 loopback address.
if(IPAddress.IsLoopback(address)&& address.AddressFamily == AddressFamily.InterNetworkV6)
loopBack = " is an IPv6 loopback address " +
"whose internal format is: " + address.ToString() + ".";
else
if(IPAddress.IsLoopback(address) && address.AddressFamily == AddressFamily.InterNetwork)
loopBack = " is an IPv4 loopback address " +
"whose internal format is: " + address.ToString() + ".";
// Display the results.
Console.WriteLine("Your input address: " + "\"" + ipAddress + "\"" + loopBack);
}
catch(FormatException e)
{
Console.WriteLine("FormatException caught!!!");
Console.WriteLine("Source : " + e.Source);
Console.WriteLine("Message : " + e.Message);
}
catch(Exception e)
{
Console.WriteLine("Exception caught!!!");
Console.WriteLine("Source : " + e.Source);
Console.WriteLine("Message : " + e.Message);
}
}
}
[C++]
#using <mscorlib.dll>
#using <System.dll>
using namespace System;
using namespace System::Net;
using namespace System::Net::Sockets;
// This method calls the IPAddress::Parse method to check if the
// passed ipAddress parameter is in the correct format.
// Then it checks whether it represents a loopback address.
// Finally, it displays the results.
void parse(String* ipAddress) {
String* loopBack=S" is not a loopback address.";
try {
// Perform syntax check by parsing the address string entered by the user.
IPAddress* address = IPAddress::Parse(ipAddress);
// Perform semantic check by verifying that the address is a valid IPv4
// or IPv6 loopback address.
if (IPAddress::IsLoopback(address)&&
address->AddressFamily == AddressFamily::InterNetworkV6)
loopBack = String::Concat(S" is an IPv6 loopback address whose internal format is: ", address, S".");
else
if (IPAddress::IsLoopback(address) &&
address->AddressFamily == AddressFamily::InterNetwork)
loopBack = String::Concat(S" is an IPv4 loopback address whose internal format is: ", address, S".");
// Display the results.
Console::WriteLine(S"Your input address: \" {0} \" {1}", ipAddress, loopBack);
} catch (FormatException* e) {
Console::WriteLine(S"FormatException caught!!!");
Console::WriteLine(S"Source : {0}", e->Source);
Console::WriteLine(S"Message : {0}", e->Message);
} catch (Exception* e) {
Console::WriteLine(S"Exception caught!!!");
Console::WriteLine(S"Source : {0}", e->Source);
Console::WriteLine(S"Message : {0}", e->Message);
}
}
int main() {
String* args[] = Environment::GetCommandLineArgs();
if (args->Length == 1) {
// No parameters entered. Display program usage.
Console::WriteLine(S"Please enter an IP address.");
Console::WriteLine(S"Usage: >ipaddress_isloopback any IPv4 or IPv6 address.");
Console::WriteLine(S"Example: >ipaddress_isloopback 127.0.0.1");
Console::WriteLine(S"Example: >ipaddress_isloopback 0:0:0:0:0:0:0:1");
} else
// Parse the address string entered by the user.
parse(args[1]);
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard