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ホスト名を使用して接続をwww.contoso.comポート 11000 でします。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. 使用して、IPEndPointに渡されるReceive、応答してホストの身元を明らかになりました。Using 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.

適用対象

こちらもご覧ください