UdpClient UdpClient UdpClient UdpClient Class

정의

UDP(User Datagram Protocol) 네트워크 서비스를 제공합니다.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
구현

예제

다음 예에서는 포트 11000 UdpClient 에서 호스트 이름을 www.contoso.com 사용 하 여 연결을 설정 합니다.The following example establishes a UdpClient connection using the host name www.contoso.com on port 11000. 작은 문자열 메시지는 두 개의 별도 원격 호스트 컴퓨터에 전송 됩니다.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, 응답 호스트의 id가 노출 합니다.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. 그러나 옵션이 다음 두 가지 방법 중 하나에서 기본 원격 호스트를 설정 하는 위해 있습니다.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 예외가 throw 됩니다.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

Boolean에서 IP(인터넷 프로토콜) 데이터그램의 조각화를 허용하는지 여부를 나타내는 UdpClient 값을 가져오거나 설정합니다.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가 하나의 포트를 하나의 클라이언트에서만 사용하도록 허용하는지 여부를 지정하는 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(Time to Live) 값을 지정하는 값을 가져오거나 설정합니다.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.

적용 대상

추가 정보