Internet Direct (Indy)
Home
PreviousUpNext
TIdUDPClient.ReceiveBuffer Method (TIdBytes, Integer)

Reads a UDP datagram from the remote peer.

Pascal
function ReceiveBuffer(
    var ABuffer: TIdBytes; 
    const AMSec: Integer = IdTimeoutDefault
): Integer; override; overload;
Parameters 
Description 
ABuffer 
Values read from a UDP datagram.
 
AMSec 
Time to wait for successful receipt of the datagram. Default value is IdTimeoutDefault

Integer - Number of bytes received in the UDP datagram.

ReceiveBuffer is an overloaded overridden Integer function used to read a datagram from a remote connection into the buffer specified in ABuffer. 

AMSec indicates the number of milliseconds to delay while waiting for the socket handle in Binding to become Readable. The default value for AMSec is IdTimeoutDefault, and indicates that the value in ReceiveTimeOut will be used as the timeout value. Otherwise the numeric value in AMSec is used. 

If a timeout occurs while waiting for the Binding to become ready for the read operation, ReceiveBuffer will set the return value for the method to 0 (zero). In addition, the following values will be set before exiting the method: 

 

Argument 
Value 
VPeerIP 
'' (empty string) 
VPeerPort 
0 (zero) 

 

On successful completion of the receive operation, VPeerIP and VPeerPort will contain the IP address and port number of the remote connection that is the origin for the data in ABuffer. 

ReceiveBuffer is overridden to provide support for reading the datagram from a proxied connection using the TransparentProxy for the client (when assigned). 

ReceiveBuffer will raise an EIdMustUseOpenProxy exception if the method is used prior to calling the OpenProxy method.

Internet Direct (Indy) version 10.1.5
Copyright © 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved.
Website http://www.indyproject.org.
Post feedback to the Indy Documentation newsgroup.