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

# UDPTransmit(3cc)

Representing half of a two-way UDP connection, the UDP transmitter can broadcast data to another selected peer host or to an entire subnet. Unreliable Datagram Peer Associations.

## NAME

UDPTransmit - Representing half of a two-way UDP connection, the UDP transmitter can broadcast data to another selected peer host or to an entire subnet. Unreliable Datagram Peer Associations.

## SYNOPSIS

`#include <socket.h>`

Inherits **UDPSocket**.

Inherited by **UDPDuplex**.

### Public Methods

int **transmit** (const char \*buffer, size\_t len)\
 *Transmit 'send' to use 'connected' send rather than sendto.* bool **isOutputReady** (unsigned long timeout=0l)\
 *See if output queue is empty for sending more packets.* **Error** **setRouting** (bool enable)\
 **Error** **setTypeOfService** (**Tos** tos)\
 **Error** **setBroadcast** (bool enable)\

### Protected Methods

**UDPTransmit** ()\
 *Create a UDP transmitter.* **UDPTransmit** (const **InetAddress** &bind, **tpport\_t** port=5005)\
 *Create a UDP transmitter, 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** **connect** (const **BroadcastAddress** &subnet, **tpport\_t** port)\
 *Associate this socket with a subnet of peer hosts for subnet broadcasting.* **Error** **connect** (const **InetMcastAddress** &mgroup, **tpport\_t** port)\
 *Associate this socket with a multicast group.* **Error** **disconnect** (void)\
 *Disassociate this socket from any host connection.* int **send** (const void \*buf, int len)\
 *Transmit 'send' to use 'connected' send rather than sendto.* void **endTransmitter** (void)\
 *Stop transmitter.* **SOCKET** **getTransmitter** (void)\
 **Error** **setMulticast** (bool enable)\
 **Error** **setTimeToLive** (unsigned char **ttl**)\

## DETAILED DESCRIPTION

Representing half of a two-way UDP connection, the UDP transmitter can broadcast data to another selected peer host or to an entire subnet. Unreliable Datagram Peer Associations.

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

## CONSTRUCTOR & DESTRUCTOR DOCUMENTATION

### UDPTransmit::UDPTransmit ()` [protected]`

Create a UDP transmitter.

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

Create a UDP transmitter, 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. This class is only used to build the UDP Duplex.

**Parameters:**

- *bind*

  *address to bind this socket to.*

- *port*

  *number to bind this socket to.*

## MEMBER FUNCTION DOCUMENTATION

### Error UDPTransmit::connect (const InetMcastAddress & mgroup, tpport\_t port)` [protected]`

*Associate this socket with a multicast group.*

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

**Parameters:**

- *mgroup*

  *address of the multicast group to send to.*

- *port*

  *port number*

### Error UDPTransmit::connect (const BroadcastAddress & subnet, tpport\_t port)` [protected]`

*Associate this socket with a subnet of peer hosts for subnet broadcasting.*

*The server must be able to assert broadcast permission for the socket.*

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

**Parameters:**

- *subnet*

  *subnet address to broadcast into.*

- *port*

  *transport port to broadcast into.*

### Error UDPTransmit::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 to and received from the specified host.*

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

**Parameters:**

- *host*

  *address to connect socket to.*

- *port*

  *to connect socket to.*

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

### Error UDPTransmit::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***.*

### void UDPTransmit::endTransmitter (void)` [inline, protected]`

*Stop transmitter.*

### SOCKET UDPTransmit::getTransmitter (void)` [inline, protected]`

### bool UDPTransmit::isOutputReady (unsigned long timeout = 0l)` [inline]`

*See if output queue is empty for sending more packets.*

**Returns:**  *true if output available.*

**Parameters:**

- *timeout*

  *in milliseconds to wait.*

### int UDPTransmit::send (const void \* buf, int len)` [inline, protected]`

*Transmit 'send' to use 'connected' send rather than sendto.*

**Returns:**  *number of bytes sent.*

**Parameters:**

- *buf*

  *address of buffer to send.*

- *len*

  *of bytes to send.*

### Error UDPTransmit::setBroadcast (bool enable)` [inline]`

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

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

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

### Error UDPTransmit::setRouting (bool enable)` [inline]`

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

### Error UDPTransmit::setTimeToLive (unsigned char ttl)` [inline, protected]`

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

### Error UDPTransmit::setTypeOfService (Tos tos)` [inline]`

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

### int UDPTransmit::transmit (const char \* buffer, size\_t len)` [inline]`

*Transmit 'send' to use 'connected' send rather than sendto.*

**Note:**  *Windows does not support MSG\_DONTWAIT, so it is defined as 0 on that platform.*

**Returns:**  *number of bytes sent.*

**Parameters:**

- *buffer*

  *address of buffer to send.*

- *len*

  *of bytes to send.*

## AUTHOR

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