Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 4
System.Net.Sockets
UdpClient Class
UdpClient Methods
 Receive Method
Collapse All/Expand All Collapse All
.NET Framework Class Library
UdpClient..::.Receive Method

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

Namespace:  System.Net.Sockets
Assembly:  System (in System.dll)
Visual Basic
Public Function Receive ( _
    ByRef remoteEP As IPEndPoint _
) As Byte()
C#
public byte[] Receive(
    ref IPEndPoint remoteEP
)
Visual C++
public:
array<unsigned char>^ Receive(
    IPEndPoint^% remoteEP
)
F#
member Receive : 
        remoteEP:IPEndPoint byref -> byte[] 

Parameters

remoteEP
Type: System.Net..::.IPEndPoint%
An IPEndPoint that represents the remote host from which the data was sent.

Return Value

Type: array<System..::.Byte>[]()[]
An array of type Byte that contains datagram data.
ExceptionCondition
ObjectDisposedException

The underlying Socket has been closed.

SocketException

An error occurred when accessing the socket. See the Remarks section for more information.

The Receive method will block until a datagram arrives from a remote host. When data is available, the Receive method will read the first enqueued datagram and return the data portion as a byte array. This method populates the remoteEP parameter with the IPAddress and port number of the sender.

If you specify a default remote host in the Connect method, the Receive method will accept datagrams from that host only. All other datagrams will be discarded.

If you receive a SocketException, use SocketException..::.ErrorCode to obtain the specific error code. Once you have obtained this code, you can refer to the Windows Sockets version 2 API error code documentation in MSDN for a detailed description of the error.

NoteNote

If you intend to receive multicasted datagrams, do not call the Connect method prior to calling the Receive method. The UdpClient you use to receive datagrams must be created using the multicast port number.

The following example demonstrates the Receive method. The Receive method blocks execution until it receives a message. Using the IPEndPoint passed to Receive, the identity of the responding host is revealed.

Visual Basic
   'Creates a UdpClient for reading incoming data.
   Dim receivingUdpClient As New UdpClient(11000)

   'Creates an IPEndPoint to record the IP address and port number of the sender. 
   ' The IPEndPoint will allow you to read datagrams sent from any source.
   Dim RemoteIpEndPoint As New IPEndPoint(IPAddress.Any, 0)
   Try

      ' Blocks until a message returns on this socket from a remote host.
      Dim receiveBytes As [Byte]() = receivingUdpClient.Receive(RemoteIpEndPoint)

      Dim returnData As String = Encoding.ASCII.GetString(receiveBytes)

      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()))
   Catch e As Exception
      Console.WriteLine(e.ToString())
   End Try
End Sub 'MyUdpClientCommunicator
 
C#
 //Creates a UdpClient for reading incoming data.
 UdpClient receivingUdpClient = new UdpClient(11000);

 //Creates an IPEndPoint to record the IP Address and port number of the sender. 
// The IPEndPoint will allow you to read datagrams sent from any source.
 IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
 try{

     // Blocks until a message returns on this socket from a remote host.
     Byte[] receiveBytes = receivingUdpClient.Receive(ref RemoteIpEndPoint); 

     string returnData = Encoding.ASCII.GetString(receiveBytes);

     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());
 }
 catch ( Exception e ){
     Console.WriteLine(e.ToString()); 
 }
 
Visual C++
//Creates a UdpClient for reading incoming data.
UdpClient^ receivingUdpClient = gcnew UdpClient( 11000 );

//Creates an IPEndPoint to record the IP Address and port number of the sender. 
// The IPEndPoint will allow you to read datagrams sent from any source.
IPEndPoint^ RemoteIpEndPoint = gcnew IPEndPoint( IPAddress::Any,0 );
try
{
   // Blocks until a message returns on this socket from a remote host.
   array<Byte>^receiveBytes = receivingUdpClient->Receive(  RemoteIpEndPoint );

   String^ returnData = Encoding::ASCII->GetString( receiveBytes );

   Console::WriteLine( "This is the message you received {0}", returnData );
   Console::WriteLine( "This message was sent from {0} on their port number {1}",
      RemoteIpEndPoint->Address, RemoteIpEndPoint->Port );
}
catch ( Exception^ e ) 
{
   Console::WriteLine( e->ToString() );
}

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2012 Microsoft. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker