---
name: "UDPReceive"
section: "3cc"
platform: "linux"
package: "libcommoncpp2-dev"
version: "1.0.13-5"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/UDPReceive"
---

# UDPReceive(3cc)

Representing half of a two-way UDP connection, the UDP receiver can receive data from another peer host or subnet. Unreliable Datagram Peer Associations.

## NAME

UDPReceive - Representing half of a two-way UDP connection, the UDP receiver can receive data from another peer host or subnet. Unreliable Datagram Peer Associations.

## SYNOPSIS

`#include <socket.h>`

Inherits **UDPSocket**.

Inherited by **UDPDuplex**.

### Public Methods

int **receive** (void \*buf, size\_t len)\
 *Receive a data packet from the connected peer host.* bool **isInputReady** (**timeout\_t** timeout=TIMEOUT\_INF)\
 *See if input queue has data packets available.*

### Protected Methods

**UDPReceive** (const **InetAddress** &bind, **tpport\_t** port)\
 *Create a UDP receiver, bind it to a specific interface and port address so that other UDP sockets on remote machines (or the same host) may find and send UDP messages to it, and associate it with a given port on a peer host.* **Error** **connect** (const **InetHostAddress** &host, **tpport\_t** port)\
 *Associate this socket with a specified peer host.* **Error** **disconnect** (void)\
 *Disassociate this socket from any host connection.* bool **isPendingReceive** (**timeout\_t** timeout)\
 *Check for pending data.* void **endReceiver** (void)\
 *End receiver.* **SOCKET** **getReceiver** (void) const\
 **Error** **setRouting** (bool enable)\
 **Error** **setMulticast** (bool enable)\
 **Error** **join** (const **InetMcastAddress** &ia)\
 **Error** **drop** (const **InetMcastAddress** &ia)\

## DETAILED DESCRIPTION

Representing half of a two-way UDP connection, the UDP receiver can receive data from another peer host or subnet. Unreliable Datagram Peer Associations.

This class is used exclusivily to derive the **UDPDuplex**.

**Author:**  David Sugar \<dyfet@ostel.com\>

## CONSTRUCTOR & DESTRUCTOR DOCUMENTATION

### UDPReceive::UDPReceive (const InetAddress & bind, tpport\_t port)` [protected]`

Create a UDP receiver, bind it to a specific interface and port address so that other UDP sockets on remote machines (or the same host) may find and send UDP messages to it, and associate it with a given port on a peer host.

On failure to bind, an exception is thrown.

**Parameters:**

- *bind*

  *address to bind this socket to.*

- *port*

  *number to bind this socket to.*

## MEMBER FUNCTION DOCUMENTATION

### Error UDPReceive::connect (const InetHostAddress & host, tpport\_t port)` [protected]`

*Associate this socket with a specified peer host.*

*The port number from the constructor will be used. All UDP packets will be sent received from the specified host.*

**Returns:**  *0 on success, -1 on error.*

**Parameters:**

- *host*

  *host network address to connect socket to.*

- *port*

  *host transport port to connect socket to.*

*Reimplemented in* **UDPDuplex***.*

### Error UDPReceive::disconnect (void)` [protected]`

*Disassociate this socket from any host connection.*

*No data should be read or written until a connection is established.*

*Reimplemented in* **UDPDuplex***.*

### Error UDPReceive::drop (const InetMcastAddress & ia)` [inline, protected]`

*Reimplemented from* **Socket***.*

### void UDPReceive::endReceiver (void)` [inline, protected]`

*End receiver.*

### SOCKET UDPReceive::getReceiver (void) const` [inline, protected]`

### bool UDPReceive::isInputReady (timeout\_t timeout = TIMEOUT\_INF)` [inline]`

*See if input queue has data packets available.*

**Returns:**  *true if data packets available.*

**Parameters:**

- *timeout*

  *in milliseconds. TIMEOUT\_INF if not specified.*

### bool UDPReceive::isPendingReceive (timeout\_t timeout)` [inline, protected]`

*Check for pending data.*

**Returns:**  *true if data is waiting.*

**Parameters:**

- *timeout*

  *in milliseconds.*

### Error UDPReceive::join (const InetMcastAddress & ia)` [inline, protected]`

*Reimplemented from* **Socket***.*

### int UDPReceive::receive (void \* buf, size\_t len)` [inline]`

*Receive a data packet from the connected peer host.*

**Returns:**  *num of bytes actually received.*

**Parameters:**

- *buf*

  *address of data receive buffer.*

- *len*

  *size of data receive buffer.*

*Reimplemented from* **UDPSocket***.*

### Error UDPReceive::setMulticast (bool enable)` [inline, protected]`

*Reimplemented from* **Socket***.*

### Error UDPReceive::setRouting (bool enable)` [inline, protected]`

*Reimplemented from* **Socket***.*

## AUTHOR

*Generated automatically by Doxygen for CommonC++ from the source code.*
