UdpClient Class

 

Provides User Datagram Protocol (UDP) network services.

Namespace:   System.Net.Sockets
Assembly:  System (in System.dll)

System.Object
  System.Net.Sockets.UdpClient

public class UdpClient : IDisposable

NameDescription
System_CAPS_pubmethodUdpClient()

Initializes a new instance of the UdpClient class.

System_CAPS_pubmethodUdpClient(AddressFamily)

Initializes a new instance of the UdpClient class.

System_CAPS_pubmethodUdpClient(Int32)

Initializes a new instance of the UdpClient class and binds it to the local port number provided.

System_CAPS_pubmethodUdpClient(Int32, AddressFamily)

Initializes a new instance of the UdpClient class and binds it to the local port number provided.

System_CAPS_pubmethodUdpClient(IPEndPoint)

Initializes a new instance of the UdpClient class and binds it to the specified local endpoint.

System_CAPS_pubmethodUdpClient(String, Int32)

Initializes a new instance of the UdpClient class and establishes a default remote host.

NameDescription
System_CAPS_protpropertyActive

Gets or sets a value indicating whether a default remote host has been established.

System_CAPS_pubpropertyAvailable

Gets the amount of data received from the network that is available to read.

System_CAPS_pubpropertyClient

Gets or sets the underlying network Socket.

System_CAPS_pubpropertyDontFragment

Gets or sets a Boolean value that specifies whether the UdpClient allows Internet Protocol (IP) datagrams to be fragmented.

System_CAPS_pubpropertyEnableBroadcast

Gets or sets a Boolean value that specifies whether the UdpClient may send or receive broadcast packets.

System_CAPS_pubpropertyExclusiveAddressUse

Gets or sets a Boolean value that specifies whether the UdpClient allows only one client to use a port.

System_CAPS_pubpropertyMulticastLoopback

Gets or sets a Boolean value that specifies whether outgoing multicast packets are delivered to the sending application.

System_CAPS_pubpropertyTtl

Gets or sets a value that specifies the Time to Live (TTL) value of Internet Protocol (IP) packets sent by the UdpClient.

NameDescription
System_CAPS_pubmethodAllowNatTraversal(Boolean)

Enables or disables Network Address Translation (NAT) traversal on a UdpClient instance.

System_CAPS_pubmethodBeginReceive(AsyncCallback, Object)

Receives a datagram from a remote host asynchronously.

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

Sends a datagram to a remote host asynchronously. The destination was specified previously by a call to Connect.

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

Sends a datagram to a destination asynchronously. The destination is specified by a EndPoint.

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

Sends a datagram to a destination asynchronously. The destination is specified by the host name and port number.

System_CAPS_pubmethodClose()

Closes the UDP connection.

System_CAPS_pubmethodConnect(IPAddress, Int32)

Establishes a default remote host using the specified IP address and port number.

System_CAPS_pubmethodConnect(IPEndPoint)

Establishes a default remote host using the specified network endpoint.

System_CAPS_pubmethodConnect(String, Int32)

Establishes a default remote host using the specified host name and port number.

System_CAPS_pubmethodDispose()

Releases the managed and unmanaged resources used by the UdpClient.

System_CAPS_protmethodDispose(Boolean)

Releases the unmanaged resources used by the UdpClient and optionally releases the managed resources.

System_CAPS_pubmethodDropMulticastGroup(IPAddress)

Leaves a multicast group.

System_CAPS_pubmethodDropMulticastGroup(IPAddress, Int32)

Leaves a multicast group.

System_CAPS_pubmethodEndReceive(IAsyncResult, IPEndPoint)

Ends a pending asynchronous receive.

System_CAPS_pubmethodEndSend(IAsyncResult)

Ends a pending asynchronous send.

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodJoinMulticastGroup(Int32, IPAddress)

Adds a UdpClient to a multicast group.

System_CAPS_pubmethodJoinMulticastGroup(IPAddress)

Adds a UdpClient to a multicast group.

System_CAPS_pubmethodJoinMulticastGroup(IPAddress, Int32)

Adds a UdpClient to a multicast group with the specified Time to Live (TTL).

System_CAPS_pubmethodJoinMulticastGroup(IPAddress, IPAddress)

Adds a UdpClient to a multicast group.

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodReceive(IPEndPoint)

Returns a UDP datagram that was sent by a remote host.

System_CAPS_pubmethodReceiveAsync()

Returns a UDP datagram asynchronously that was sent by a remote host.

System_CAPS_pubmethodSend(Byte[], Int32)

Sends a UDP datagram to a remote host.

System_CAPS_pubmethodSend(Byte[], Int32, IPEndPoint)

Sends a UDP datagram to the host at the specified remote endpoint.

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

Sends a UDP datagram to a specified port on a specified remote host.

System_CAPS_pubmethodSendAsync(Byte[], Int32)

Sends a UDP datagram asynchronously to a remote host.

System_CAPS_pubmethodSendAsync(Byte[], Int32, IPEndPoint)

Sends a UDP datagram asynchronously to a remote host.

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

Sends a UDP datagram asynchronously to a remote host.

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

The UdpClient class provides simple methods for sending and receiving connectionless UDP datagrams in blocking synchronous mode. 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:

  • Create an instance of the UdpClient class using the remote host name and port number as parameters.

  • Create an instance of the UdpClient class and then call the Connect method.

You can use any of the send methods provided in the UdpClient to send data to a remote device. Use the Receive method to receive data from remote hosts.

System_CAPS_noteNote

Do not call Send using a host name or IPEndPoint if you have already specified a default remote host. If you do, UdpClient will throw an exception.

UdpClient methods also allow you to send and receive multicast datagrams. Use the JoinMulticastGroup method to subscribe a UdpClient to a multicast group. Use the DropMulticastGroup method to unsubscribe a UdpClient from a multicast group.

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. The Receive method blocks execution until a message is received. Using the IPEndPoint passed to Receive, the identity of the responding host is revealed.

// 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());
        }

SocketPermission

To establish an outgoing connection or accept an incoming request.

.NET Framework
Available since 1.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: