UdpClient UdpClient UdpClient UdpClient Class

定義

ユーザー データグラム プロトコル (UDP) のネットワーク サービスを提供します。Provides User Datagram Protocol (UDP) network services.

public ref class UdpClient : IDisposable
public class UdpClient : IDisposable
type UdpClient = class
    interface IDisposable
Public Class UdpClient
Implements IDisposable
継承
UdpClientUdpClientUdpClientUdpClient
実装

次の例ではUdpClient 、ポート11000でホストwww.contoso.com名を使用して接続を確立します。The following example establishes a UdpClient connection using the host name www.contoso.com on port 11000. 小さい文字列のメッセージは、2つの異なるリモートホストコンピューターに送信されます。A small string message is sent to two separate remote host machines. メソッドReceiveは、メッセージが受信されるまで実行をブロックします。The Receive method blocks execution until a message is received. に渡されたReceiveを使用すると、応答しているホストの id が明らかになります。 IPEndPointUsing the IPEndPoint passed to Receive, the identity of the responding host is revealed.

// With this constructor the local port number is arbitrarily assigned.
UdpClient^ udpClient = gcnew UdpClient;
try
{
   udpClient->Connect( "host.contoso.com", 11000 );

   // Send message to the host to which you have connected.
   array<Byte>^sendBytes = Encoding::ASCII->GetBytes( "Is anybody there?" );
   udpClient->Send( sendBytes, sendBytes->Length );

   // Send message to a different host using optional hostname and port parameters.
   UdpClient^ udpClientB = gcnew UdpClient;
   udpClientB->Send( sendBytes, sendBytes->Length, "AlternateHostMachineName", 11000 );

   //IPEndPoint object will allow us to read datagrams sent from any source.
   IPEndPoint^ RemoteIpEndPoint = gcnew IPEndPoint( IPAddress::Any,0 );

   // Block until a message returns on this socket from a remote host.
   array<Byte>^receiveBytes = udpClient->Receive( RemoteIpEndPoint );
   String^ returnData = Encoding::ASCII->GetString( receiveBytes );

   // Use the IPEndPoint object to determine which of these two hosts responded.
   Console::WriteLine( String::Concat( "This is the message you received ", returnData->ToString() ) );
   Console::WriteLine( String::Concat( "This message was sent from ", RemoteIpEndPoint->Address->ToString(), " on their port number ", RemoteIpEndPoint->Port.ToString() ) );
   udpClient->Close();
   udpClientB->Close();
}
catch ( Exception^ e ) 
{
   Console::WriteLine( e->ToString() );
}
// This constructor arbitrarily assigns the local port number.
UdpClient udpClient = new UdpClient(11000);
    try{
         udpClient.Connect("www.contoso.com", 11000);

         // Sends a message to the host to which you have connected.
         Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there?");
      
         udpClient.Send(sendBytes, sendBytes.Length);

         // Sends a message to a different host using optional hostname and port parameters.
         UdpClient udpClientB = new UdpClient();
         udpClientB.Send(sendBytes, sendBytes.Length, "AlternateHostMachineName", 11000);

         //IPEndPoint object will allow us to read datagrams sent from any source.
         IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);

         // Blocks until a message returns on this socket from a remote host.
         Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint); 
         string returnData = Encoding.ASCII.GetString(receiveBytes);
   
         // Uses the IPEndPoint object to determine which of these two hosts responded.
         Console.WriteLine("This is the message you received " +
    	                              returnData.ToString());
         Console.WriteLine("This message was sent from " +
                                     RemoteIpEndPoint.Address.ToString() +
                                     " on their port number " +
                                     RemoteIpEndPoint.Port.ToString());

          udpClient.Close();
          udpClientB.Close();
          
          }  
       catch (Exception e ) {
                  Console.WriteLine(e.ToString());
        }
   ' This constructor arbitrarily assigns the local port number.
   Dim udpClient As New UdpClient(11000)
   Try
      udpClient.Connect("www.contoso.com", 11000)
      
      ' Sends a message to the host to which you have connected.
      Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("Is anybody there?")
      
      udpClient.Send(sendBytes, sendBytes.Length)
      
      ' Sends message to a different host using optional hostname and port parameters.
      Dim udpClientB As New UdpClient()
      udpClientB.Send(sendBytes, sendBytes.Length, "AlternateHostMachineName", 11000)
      
      ' IPEndPoint object will allow us to read datagrams sent from any source.
      Dim RemoteIpEndPoint As New IPEndPoint(IPAddress.Any, 0)
      
      ' UdpClient.Receive blocks until a message is received from a remote host.
      Dim receiveBytes As [Byte]() = udpClient.Receive(RemoteIpEndPoint)
      Dim returnData As String = Encoding.ASCII.GetString(receiveBytes)
      
      ' Which one of these two hosts responded?
      Console.WriteLine(("This is the message you received " + _
                                    returnData.ToString()))
       Console.WriteLine(("This message was sent from " + _
                                    RemoteIpEndPoint.Address.ToString() + _ 
                                    " on their port number " + _
                                    RemoteIpEndPoint.Port.ToString()))
      udpClient.Close()
      udpClientB.Close()

   Catch e As Exception
      Console.WriteLine(e.ToString())
   End Try
End Sub 

注釈

クラスUdpClientは、ブロック同期モードでコネクションレス UDP データグラムを送受信するための単純なメソッドを提供します。The UdpClient class provides simple methods for sending and receiving connectionless UDP datagrams in blocking synchronous mode. UDP はコネクションレストランスポートプロトコルであるため、データを送受信する前にリモートホスト接続を確立する必要はありません。Because UDP is a connectionless transport protocol, you do not need to establish a remote host connection prior to sending and receiving data. ただし、次の2つの方法のいずれかで既定のリモートホストを確立することもできます。You do, however, have the option of establishing a default remote host in one of the following two ways:

  • パラメーターとしてリモートUdpClientホスト名とポート番号を使用して、クラスのインスタンスを作成します。Create an instance of the UdpClient class using the remote host name and port number as parameters.

  • UdpClientクラスのインスタンスを作成し、メソッドをConnect呼び出します。Create an instance of the UdpClient class and then call the Connect method.

で提供されているいずれかの送信方法UdpClientを使用して、リモートデバイスにデータを送信できます。You can use any of the send methods provided in the UdpClient to send data to a remote device. リモートホストReceiveからデータを受信するには、メソッドを使用します。Use the Receive method to receive data from remote hosts.

注意

ホスト名をSend使用してを呼びIPEndPoint出さないでください。または、既定のリモートホストが既に指定されている場合はを呼び出しません。Do not call Send using a host name or IPEndPoint if you have already specified a default remote host. 実行すると、 UdpClientは例外をスローします。If you do, UdpClient will throw an exception.

UdpClientメソッドを使用すると、マルチキャストデータグラムを送受信することもできます。UdpClient methods also allow you to send and receive multicast datagrams. メソッドをJoinMulticastGroup使用して、 UdpClientをマルチキャストグループにサブスクライブします。Use the JoinMulticastGroup method to subscribe a UdpClient to a multicast group. メソッドをDropMulticastGroup使用して、 UdpClientマルチキャストグループからの登録を解除します。Use the DropMulticastGroup method to unsubscribe a UdpClient from a multicast group.

コンストラクター

UdpClient() UdpClient() UdpClient() UdpClient()

UdpClient クラスの新しいインスタンスを初期化します。Initializes a new instance of the UdpClient class.

UdpClient(AddressFamily) UdpClient(AddressFamily) UdpClient(AddressFamily) UdpClient(AddressFamily)

UdpClient クラスの新しいインスタンスを初期化します。Initializes a new instance of the UdpClient class.

UdpClient(Int32) UdpClient(Int32) UdpClient(Int32) UdpClient(Int32)

UdpClient クラスの新しいインスタンスを初期化し、指定したローカル ポート番号にバインドします。Initializes a new instance of the UdpClient class and binds it to the local port number provided.

UdpClient(Int32, AddressFamily) UdpClient(Int32, AddressFamily) UdpClient(Int32, AddressFamily) UdpClient(Int32, AddressFamily)

UdpClient クラスの新しいインスタンスを初期化し、指定したローカル ポート番号にバインドします。Initializes a new instance of the UdpClient class and binds it to the local port number provided.

UdpClient(IPEndPoint) UdpClient(IPEndPoint) UdpClient(IPEndPoint) UdpClient(IPEndPoint)

UdpClient クラスの新しいインスタンスを初期化し、指定したローカル エンドポイントにバインドします。Initializes a new instance of the UdpClient class and binds it to the specified local endpoint.

UdpClient(String, Int32) UdpClient(String, Int32) UdpClient(String, Int32) UdpClient(String, Int32)

UdpClient クラスの新しいインスタンスを初期化し、既定のリモート ホストを確立します。Initializes a new instance of the UdpClient class and establishes a default remote host.

プロパティ

Active Active Active Active

既定のリモート ホストが確立されたかどうかを示す値を取得または設定します。Gets or sets a value indicating whether a default remote host has been established.

Available Available Available Available

読み取りが可能なネットワークから受信したデータの量を取得します。Gets the amount of data received from the network that is available to read.

Client Client Client Client

基になるネットワーク Socket を取得または設定します。Gets or sets the underlying network Socket.

DontFragment DontFragment DontFragment DontFragment

UdpClient でインターネット プロトコル (IP) データグラムの断片化を許可するかどうかを指定する Boolean 値を、取得または設定します。Gets or sets a Boolean value that specifies whether the UdpClient allows Internet Protocol (IP) datagrams to be fragmented.

EnableBroadcast EnableBroadcast EnableBroadcast EnableBroadcast

Boolean がブロードキャスト パケットの送受信を許可するかどうかを指定する UdpClient 値を取得または設定します。Gets or sets a Boolean value that specifies whether the UdpClient may send or receive broadcast packets.

ExclusiveAddressUse ExclusiveAddressUse ExclusiveAddressUse ExclusiveAddressUse

Boolean で 1 つのクライアントだけがポートを使用できるかどうかを指定する UdpClient 値を取得または設定します。Gets or sets a Boolean value that specifies whether the UdpClient allows only one client to use a port.

MulticastLoopback MulticastLoopback MulticastLoopback MulticastLoopback

発信マルチキャスト パケットが送信元アプリケーションに配信されるかどうかを指定する Boolean 値を取得または設定します。Gets or sets a Boolean value that specifies whether outgoing multicast packets are delivered to the sending application.

Ttl Ttl Ttl Ttl

UdpClient によって送信されたインターネット プロトコル (IP) パケットの有効期間 (TTL) の値を指定する値を取得または設定します。Gets or sets a value that specifies the Time to Live (TTL) value of Internet Protocol (IP) packets sent by the UdpClient.

メソッド

AllowNatTraversal(Boolean) AllowNatTraversal(Boolean) AllowNatTraversal(Boolean) AllowNatTraversal(Boolean)

UdpClient インスタンスのネットワーク アドレス変換 (NAT: Network Address Translation) トラバーサルを有効または無効にします。Enables or disables Network Address Translation (NAT) traversal on a UdpClient instance.

BeginReceive(AsyncCallback, Object) BeginReceive(AsyncCallback, Object) BeginReceive(AsyncCallback, Object) BeginReceive(AsyncCallback, Object)

データグラムをリモート ホストから非同期的に受信します。Receives a datagram from a remote host asynchronously.

BeginSend(Byte[], Int32, AsyncCallback, Object) BeginSend(Byte[], Int32, AsyncCallback, Object) BeginSend(Byte[], Int32, AsyncCallback, Object) BeginSend(Byte[], Int32, AsyncCallback, Object)

データグラムをリモート ホストに非同期的に送信します。Sends a datagram to a remote host asynchronously. 送信先は、Connect の呼び出しであらかじめ指定されています。The destination was specified previously by a call to Connect.

BeginSend(Byte[], Int32, IPEndPoint, AsyncCallback, Object) BeginSend(Byte[], Int32, IPEndPoint, AsyncCallback, Object) BeginSend(Byte[], Int32, IPEndPoint, AsyncCallback, Object) BeginSend(Byte[], Int32, IPEndPoint, AsyncCallback, Object)

データグラムを送信先に非同期的に送信します。Sends a datagram to a destination asynchronously. 送信先は、EndPoint で指定されます。The destination is specified by a EndPoint.

BeginSend(Byte[], Int32, String, Int32, AsyncCallback, Object) BeginSend(Byte[], Int32, String, Int32, AsyncCallback, Object) BeginSend(Byte[], Int32, String, Int32, AsyncCallback, Object) BeginSend(Byte[], Int32, String, Int32, AsyncCallback, Object)

データグラムを送信先に非同期的に送信します。Sends a datagram to a destination asynchronously. 送信先は、ホスト名とポート番号で指定されます。The destination is specified by the host name and port number.

Close() Close() Close() Close()

UDP 接続を終了します。Closes the UDP connection.

Connect(IPAddress, Int32) Connect(IPAddress, Int32) Connect(IPAddress, Int32) Connect(IPAddress, Int32)

指定した IP アドレスとポート番号を使用して、既定のリモート ホストを確立します。Establishes a default remote host using the specified IP address and port number.

Connect(IPEndPoint) Connect(IPEndPoint) Connect(IPEndPoint) Connect(IPEndPoint)

指定されたネットワーク エンドポイントを使用して、既定のリモート ホストを確立します。Establishes a default remote host using the specified network endpoint.

Connect(String, Int32) Connect(String, Int32) Connect(String, Int32) Connect(String, Int32)

指定したホスト名とポート番号を使用して、既定のリモート ホストを確立します。Establishes a default remote host using the specified host name and port number.

Dispose() Dispose() Dispose() Dispose()

UdpClient によって使用されているマネージド リソースおよびアンマネージド リソースを解放します。Releases the managed and unmanaged resources used by the UdpClient.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

UdpClient によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the UdpClient and optionally releases the managed resources.

DropMulticastGroup(IPAddress) DropMulticastGroup(IPAddress) DropMulticastGroup(IPAddress) DropMulticastGroup(IPAddress)

マルチキャスト グループへの参加を取り消します。Leaves a multicast group.

DropMulticastGroup(IPAddress, Int32) DropMulticastGroup(IPAddress, Int32) DropMulticastGroup(IPAddress, Int32) DropMulticastGroup(IPAddress, Int32)

マルチキャスト グループへの参加を取り消します。Leaves a multicast group.

EndReceive(IAsyncResult, IPEndPoint) EndReceive(IAsyncResult, IPEndPoint) EndReceive(IAsyncResult, IPEndPoint) EndReceive(IAsyncResult, IPEndPoint)

保留中の非同期受信を終了します。Ends a pending asynchronous receive.

EndSend(IAsyncResult) EndSend(IAsyncResult) EndSend(IAsyncResult) EndSend(IAsyncResult)

保留中の非同期送信を終了します。Ends a pending asynchronous send.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
JoinMulticastGroup(Int32, IPAddress) JoinMulticastGroup(Int32, IPAddress) JoinMulticastGroup(Int32, IPAddress) JoinMulticastGroup(Int32, IPAddress)

UdpClient をマルチキャスト グループに追加します。Adds a UdpClient to a multicast group.

JoinMulticastGroup(IPAddress) JoinMulticastGroup(IPAddress) JoinMulticastGroup(IPAddress) JoinMulticastGroup(IPAddress)

UdpClient をマルチキャスト グループに追加します。Adds a UdpClient to a multicast group.

JoinMulticastGroup(IPAddress, Int32) JoinMulticastGroup(IPAddress, Int32) JoinMulticastGroup(IPAddress, Int32) JoinMulticastGroup(IPAddress, Int32)

指定された有効期間 (TTL: Time to Live) で UdpClient をマルチキャスト グループに追加します。Adds a UdpClient to a multicast group with the specified Time to Live (TTL).

JoinMulticastGroup(IPAddress, IPAddress) JoinMulticastGroup(IPAddress, IPAddress) JoinMulticastGroup(IPAddress, IPAddress) JoinMulticastGroup(IPAddress, IPAddress)

UdpClient をマルチキャスト グループに追加します。Adds a UdpClient to a multicast group.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
Receive(IPEndPoint) Receive(IPEndPoint) Receive(IPEndPoint) Receive(IPEndPoint)

リモート ホストが送信した UDP データグラムを返します。Returns a UDP datagram that was sent by a remote host.

ReceiveAsync() ReceiveAsync() ReceiveAsync() ReceiveAsync()

リモート ホストが送信した UDP データグラムを非同期的に返します。Returns a UDP datagram asynchronously that was sent by a remote host.

Send(Byte[], Int32) Send(Byte[], Int32) Send(Byte[], Int32) Send(Byte[], Int32)

リモート ホストに UDP データグラムを送信します。Sends a UDP datagram to a remote host.

Send(Byte[], Int32, IPEndPoint) Send(Byte[], Int32, IPEndPoint) Send(Byte[], Int32, IPEndPoint) Send(Byte[], Int32, IPEndPoint)

指定したリモート エンドポイントにあるホストに UDP データグラムを送信します。Sends a UDP datagram to the host at the specified remote endpoint.

Send(Byte[], Int32, String, Int32) Send(Byte[], Int32, String, Int32) Send(Byte[], Int32, String, Int32) Send(Byte[], Int32, String, Int32)

指定されたリモート ホストの指定されたポートに UDP データグラムを送信します。Sends a UDP datagram to a specified port on a specified remote host.

SendAsync(Byte[], Int32) SendAsync(Byte[], Int32) SendAsync(Byte[], Int32) SendAsync(Byte[], Int32)

UDP データグラムをリモート ホストに非同期的に送信します。Sends a UDP datagram asynchronously to a remote host.

SendAsync(Byte[], Int32, IPEndPoint) SendAsync(Byte[], Int32, IPEndPoint) SendAsync(Byte[], Int32, IPEndPoint) SendAsync(Byte[], Int32, IPEndPoint)

UDP データグラムをリモート ホストに非同期的に送信します。Sends a UDP datagram asynchronously to a remote host.

SendAsync(Byte[], Int32, String, Int32) SendAsync(Byte[], Int32, String, Int32) SendAsync(Byte[], Int32, String, Int32) SendAsync(Byte[], Int32, String, Int32)

UDP データグラムをリモート ホストに非同期的に送信します。Sends a UDP datagram asynchronously to a remote host.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

明示的なインターフェイスの実装

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

UdpClient によって使用されているすべてのリソースを解放します。Releases all resources used by the UdpClient.

セキュリティ

SocketPermission
発信接続を確立するか、受信要求を受け入れる。To establish an outgoing connection or accept an incoming request.

適用対象

こちらもご覧ください