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
	Implements 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.
   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 

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: