次の方法で共有


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 内)

参照

SocketAddress メンバ | System.Net 名前空間