SocketAddress クラス
EndPoint 派生クラスからシリアル化された情報を格納します。
この型のすべてのメンバの一覧については、SocketAddress メンバ を参照してください。
System.Object
System.Net.SocketAddress
Public Class SocketAddress
[C#]
public class SocketAddress
[C++]
public __gc class SocketAddress
[JScript]
public class SocketAddress
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
元になるバッファの最初の 2 バイトは、 AddressFamily 列挙値用に予約されます。シリアル化した IPEndPoint の格納に SocketAddress を使用した場合、3 番目と 4 番目のバイトは、ポート番号情報の格納用に使用されます。後続のバイトは、IP アドレスを格納するために使用されます。バイト バッファは、0 から始まるインデックス番号を使用するため、このインデックス位置を参照して、基になるバイト バッファ内のすべての情報にアクセスできます。 Family プロパティおよび Size プロパティを使用して、 AddressFamily 値とバッファ サイズをそれぞれ取得することもできます。任意の情報を文字列として表示するには、 ToString メソッドを使用します。
使用例
[Visual Basic, C#, C++] SocketAddress を使用して、 EndPoint クラスのインスタンスをシリアル化する方法の例を次に示します。シリアル化が完了すると、 SocketAddress の基になるバイト バッファには、すべての IPEndPoint ステータス情報が格納されます。
'Creates an IpEndPoint.
Dim ipAddress As IPAddress = Dns.Resolve("www.contoso.com").AddressList(0)
Dim ipLocalEndPoint As New IPEndPoint(ipAddress, 11000)
'Serializes the IPEndPoint.
Dim socketAddress As SocketAddress = ipLocalEndPoint.Serialize()
'Verifies that ipLocalEndPoint is now serialized by printing its contents.
Console.WriteLine(("Contents of socketAddress are: " + socketAddress.ToString()))
'Checks the Family property.
Console.WriteLine(("The address family of socketAddress is: " + socketAddress.Family.ToString()))
'Checks the underlying buffer size.
Console.WriteLine(("The size of the underlying buffer is: " + socketAddress.Size.ToString()))
End Sub 'MySerializeIPEndPointClassMethod
[C#]
//Creates an IpEndPoint.
IPAddress ipAddress = Dns.Resolve("www.contoso.com").AddressList[0];
IPEndPoint ipLocalEndPoint = new IPEndPoint(ipAddress, 11000);
//Serializes the IPEndPoint.
SocketAddress socketAddress = ipLocalEndPoint.Serialize();
//Verifies that ipLocalEndPoint is now serialized by printing its contents.
Console.WriteLine("Contents of the socketAddress are: " + socketAddress.ToString());
//Checks the Family property.
Console.WriteLine("The address family of the socketAddress is: " + socketAddress.Family.ToString());
//Checks the underlying buffer size.
Console.WriteLine("The size of the underlying buffer is: " + socketAddress.Size.ToString());
[C++]
//Creates an IpEndPoint.
IPAddress* ipAddress = Dns::Resolve(S"www.contoso.com")->AddressList[0];
IPEndPoint* ipLocalEndPoint = new IPEndPoint(ipAddress, 11000);
//Serializes the IPEndPoint.
SocketAddress* socketAddress = ipLocalEndPoint->Serialize();
//Verifies that ipLocalEndPoint is now serialized by printing its contents.
Console::WriteLine(S"Contents of the socketAddress are: {0}", socketAddress);
//Checks the Family property.
Console::WriteLine(S"The address family of the socketAddress is: {0}",
__box( socketAddress->Family));
//Checks the underlying buffer size.
Console::WriteLine(S"The size of the underlying buffer is: {0}",
__box( socketAddress->Size));
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Net
プラットフォーム: 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
アセンブリ: System (System.dll 内)