PTLib Version 2.12.9

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | List of all members
PUDPSocket Class Reference

A socket channel that uses the UDP transport on the Internet Protocol. More...

`#include <udpsock.h>`

Inheritance diagram for PUDPSocket:
[legend]
Collaboration diagram for PUDPSocket:
[legend]

## Public Member Functions
virtual void | InternalSetSendAddress (const PIPSocketAddressAndPort &addr)
virtual void | InternalGetSendAddress (PIPSocketAddressAndPort &addr) const
virtual void | InternalSetLastReceiveAddress (const PIPSocketAddressAndPort &addr)
virtual void | InternalGetLastReceiveAddress (PIPSocketAddressAndPort &addr) const
Construction
| PUDPSocket (WORD port=0, int iAddressFamily=AF_INET)
| Create a UDP socket. More...
| PUDPSocket (const PString &service, int iAddressFamily=AF_INET)
| PUDPSocket (const PString &address, WORD port)
| PUDPSocket (const PString &address, const PString &service)
Overrides from class PSocket
PBoolean | Read (void *buf, PINDEX len)
| Override of PChannel functions to allow connectionless reads. More...
PBoolean | Write (const void *buf, PINDEX len)
| Override of PChannel functions to allow connectionless writes. More...
PBoolean | Connect (const PString &address)
| Override of PSocket functions to allow connectionless writes. More...
New functions for class
void | SetSendAddress (const Address &address, WORD port)
| Set the address to use for connectionless Write() or Windows QoS. More...
void | SetSendAddress (const PIPSocketAddressAndPort &addressAndPort)
void | GetSendAddress (Address &address, WORD &port) const
| Get the address to use for connectionless Write(). More...
void | GetSendAddress (PIPSocketAddressAndPort &addressAndPort) const
PString | GetSendAddress () const
void | GetLastReceiveAddress (Address &address, WORD &port) const
| Get the address of the sender in the last connectionless Read(). More...
void | GetLastReceiveAddress (PIPSocketAddressAndPort &addressAndPort) const
PString | GetLastReceiveAddress () const
virtual PBoolean | IsAlternateAddress (const Address &address, WORD port)
| CallBack to check if the detected address of the connectionless Read() is an alternate address. More...
virtual PBoolean | DoPseudoRead (int &selectStatus)
| PseudoRead This indicates to the upper system that reading on this socket will be a pseudo read when means there is data available that did not orginate from the physical socket but was programmically injected. More...
Public Member Functions inherited from PIPDatagramSocket
virtual PBoolean | ReadFrom (void *buf, PINDEX len, Address &addr, WORD &port)
| Read a datagram from a remote computer. More...
virtual PBoolean | ReadFrom (void *buf, PINDEX len, PIPSocketAddressAndPort &ipAndPort)
virtual PBoolean | ReadFrom (Slice *slices, size_t sliceCount, Address &addr, WORD &port)
virtual PBoolean | ReadFrom (Slice *slices, size_t sliceCount, PIPSocketAddressAndPort &ipAndPort)
virtual PBoolean | WriteTo (const void *buf, PINDEX len, const Address &addr, WORD port)
| Write a datagram to a remote computer. More...
virtual PBoolean | WriteTo (const void *buf, PINDEX len, const PIPSocketAddressAndPort &ipAndPort)
virtual PBoolean | WriteTo (const Slice *slices, size_t sliceCount, const Address &addr, WORD port)
virtual PBoolean | WriteTo (const Slice *slices, size_t sliceCount, const PIPSocketAddressAndPort &ipAndPort)
virtual bool | InternalReadFrom (Slice *slices, size_t sliceCount, PIPSocketAddressAndPort &ipAndPort)
virtual bool | InternalWriteTo (const Slice *slices, size_t sliceCount, const PIPSocketAddressAndPort &ipAndPort)
Public Member Functions inherited from PIPSocket
virtual bool | InternalGetLocalAddress (AddressAndPort &addrAndPort)
virtual bool | InternalGetPeerAddress (AddressAndPort &addrAndPort)
virtual PBoolean | Connect (const Address &addr)
virtual PBoolean | Connect (WORD localPort, const Address &addr)
virtual PBoolean | Connect (const Address &iface, const Address &addr)
virtual PBoolean | Connect (const Address &iface, WORD localPort, const Address &addr)
virtual PBoolean | Listen (unsigned queueSize=5, WORD port=0, Reusability reuse=AddressIsExclusive)
| Listen on a socket for a remote host on the specified port number. More...
virtual PBoolean | Listen (const Address &bind, unsigned queueSize=5, WORD port=0, Reusability reuse=AddressIsExclusive)
virtual bool | SetQoS (const QoS &qos)
| Set the current Quality of Service. More...
const QoS & | GetQoS () const
| Get the current Quality of Service. More...
virtual PString | GetName () const
| Get the platform and I/O channel type name of the channel. More...
PString | GetLocalAddress ()
| Get the Internet Protocol address and port for the local host. More...
bool | GetLocalAddress (Address &addr)
bool | GetLocalAddress (Address &addr, WORD &port)
bool | GetLocalAddress (AddressAndPort &addr)
PString | GetPeerAddress ()
| Get the Internet Protocol address for the peer host and port the socket is connected to. More...
bool | GetPeerAddress (Address &addr)
bool | GetPeerAddress (Address &addr, WORD &port)
bool | GetPeerAddress (AddressAndPort &addr)
PString | GetLocalHostName ()
| Get the host name for the local host. More...
PString | GetPeerHostName ()
| Get the host name for the peer host the socket is connected to. More...
| PARRAY (RouteTable, RouteEntry)
| PARRAY (InterfaceTable, InterfaceEntry)
| P_DECLARE_ENUM (QoSType, BackgroundQoS, BestEffortQoS, ExcellentEffortQoS, CriticalQoS, VideoQoS, VoiceQoS, ControlQoS)
| The types of QoS supported, based on IEEE P802.1p TrafficClass parameter. More...
Public Member Functions inherited from PSocket
| ~PSocket ()
PBoolean | SetOption (int option, int value, int level=SOL_SOCKET)
| Set options on the socket. More...
PBoolean | SetOption (int option, const void *valuePtr, PINDEX valueSize, int level=SOL_SOCKET)
| Set options on the socket. More...
PBoolean | GetOption (int option, int &value, int level=SOL_SOCKET)
| Get options on the socket. More...
PBoolean | GetOption (int option, void *valuePtr, PINDEX valueSize, int level=SOL_SOCKET)
| Get options on the socket. More...
virtual bool | Read (Slice *slices, size_t sliceCount)
| Low level scattered read from the channel. More...
virtual bool | Write (const Slice *slices, size_t sliceCount)
| Low level scattered write to the channel. More...
virtual PBoolean | Accept (PSocket &socket)
| Open a socket to a remote host on the specified port number. More...
virtual PBoolean | Shutdown (ShutdownValue option)
| Close one or both of the data streams associated with a socket. More...
virtual WORD | GetPortByService (const PString &service) const
| Get the port number for the specified service name. More...
virtual PString | GetServiceByPort (WORD port) const
| Get the service name from the port number. More...
void | SetPort (WORD port)
| Set the port number for the channel. More...
void | SetPort (const PString &service)
| Set the port number for the channel. More...
WORD | GetPort () const
| Get the port the TCP socket channel object instance is using. More...
PString | GetService () const
| Get a service name for the port number the TCP socket channel object instance is using. More...
Public Member Functions inherited from PChannel
PBoolean | SetErrorValues (Errors errorCode, int osError, ErrorGroup group=LastGeneralError)
| Set error values to those specified. More...
virtual Comparison | Compare (const PObject &obj) const
| Get the relative rank of the two strings. More...
virtual PINDEX | HashFunction () const
| Calculate a hash value for use in sets and dictionaries. More...
virtual PBoolean | IsOpen () const
| Determine if the channel is currently open. More...
P_INT_PTR | GetHandle () const
| Get the integer operating system handle for the channel. More...
virtual PChannel * | GetBaseReadChannel () const
| Get the base channel of channel indirection using PIndirectChannel. More...
virtual PChannel * | GetBaseWriteChannel () const
| Get the base channel of channel indirection using PIndirectChannel. More...
void | SetReadTimeout (const PTimeInterval &time)
| Set the timeout for read operations. More...
PTimeInterval | GetReadTimeout () const
| Get the timeout for read operations. More...
virtual PINDEX | GetLastReadCount () const
| Get the number of bytes read by the last Read() call. More...
virtual int | ReadChar ()
| Read a single 8 bit byte from the channel. More...
PBoolean | ReadBlock (void *buf, PINDEX len)
| Read len bytes into the buffer from the channel. More...
PString | ReadString (PINDEX len)
| Read `len` character into a string from the channel. More...
void | SetWriteTimeout (const PTimeInterval &time)
| Set the timeout for write operations to complete. More...
PTimeInterval | GetWriteTimeout () const
| Get the timeout for write operations to complete. More...
virtual PBoolean | Write (const void *buf, PINDEX len, const void *)
| Low level write to the channel with marker. More...
virtual PINDEX | GetLastWriteCount () const
| Get the number of bytes written by the last Write() call. More...
PBoolean | WriteChar (int c)
| Write a single character to the channel. More...
PBoolean | WriteString (const PString &str)
| Write a string to the channel. More...
| ~PChannel ()
| Close down the channel. More...
Errors | GetErrorCode (ErrorGroup group=NumErrorGroups) const
| Get normalised error code. More...
int | GetErrorNumber (ErrorGroup group=NumErrorGroups) const
| Get OS errro code. More...
virtual PString | GetErrorText (ErrorGroup group=NumErrorGroups) const
| Get error message description. More...
virtual bool | ReadAsync (AsyncContext &context)
| Begin an asynchronous read from channel. More...
virtual void | OnReadComplete (AsyncContext &context)
| User callback function for when a `ReadAsync()` call has completed or timed out. More...
virtual bool | WriteAsync (AsyncContext &context)
| Begin an asynchronous write from channel. More...
virtual void | OnWriteComplete (AsyncContext &context)
| User callback function for when a WriteAsync() call has completed or timed out. More...
virtual PBoolean | Close ()
| Close the channel, shutting down the link to the data source. More...
virtual bool | SetLocalEcho (bool localEcho)
| Set local echo mode. More...
virtual bool | FlowControl (const void *flowData)
| Flow Control information Pass data to the channel for flowControl determination. More...
PBoolean | SetBufferSize (PINDEX newSize)
| Set the iostream buffer size for reads and writes. More...
PBoolean | SendCommandString (const PString &command)
| Send a command meta-string. More...
void | AbortCommandString ()
| Abort a command string that is in progress. More...
Public Member Functions inherited from PObject
unsigned | GetTraceContextIdentifier () const
| Get PTRACE context identifier. More...
void | SetTraceContextIdentifier (unsigned id)
void | GetTraceContextIdentifier (PObject &obj)
void | GetTraceContextIdentifier (PObject *obj)
void | SetTraceContextIdentifier (const PObject &obj)
void | SetTraceContextIdentifier (const PObject *obj)
virtual | ~PObject ()
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
template<class CLS >
CLS * | CloneAs () const
| As for Clone() but converts to specified type. More...
virtual const char * | GetClass (unsigned ancestor=0) const
| Get the current dynamic type of the object instance. More...
PBoolean | IsClass (const char *cls) const
virtual PBoolean | InternalIsDescendant (const char *clsName) const
| Determine if the dynamic type of the current instance is a descendent of the specified class. More...
__inline const PObject * | PTraceObjectInstance () const
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const
| Determine the byte wise comparison of two objects. More...
bool | operator== (const PObject &obj) const
| Compare the two objects. More...
bool | operator!= (const PObject &obj) const
| Compare the two objects. More...
bool | operator< (const PObject &obj) const
| Compare the two objects. More...
bool | operator> (const PObject &obj) const
| Compare the two objects. More...
bool | operator<= (const PObject &obj) const
| Compare the two objects. More...
bool | operator>= (const PObject &obj) const
| Compare the two objects. More...
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream. More...
virtual void | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...

## Protected Member Functions
virtual PBoolean | ConvertOSError (P_INT_PTR libcReturnValue, ErrorGroup group=LastGeneralError)
| Convert an operating system error into platform independent error. More...
virtual PBoolean | OpenSocket ()
virtual PBoolean | OpenSocket (int ipAdressFamily)
| Open an IPv4 or IPv6 socket. More...
virtual bool | InternalListen (const Address &bind, unsigned queueSize, WORD port, Reusability reuse)
virtual const char * | GetProtocolName () const
| This function returns the protocol name for the socket type. More...
Protected Member Functions inherited from PIPDatagramSocket
| PIPDatagramSocket ()
| Create a TCP/IP protocol socket channel. More...
Protected Member Functions inherited from PIPSocket
| PIPSocket ()
| Create a new Internet Protocol socket based on the port number specified. More...
Protected Member Functions inherited from PSocket
| PSocket ()
int | os_close ()
int | os_socket (int af, int type, int proto)
PBoolean | os_connect (struct sockaddr *sin, socklen_t size)
PBoolean | os_vread (Slice *slices, size_t sliceCount, int flags, struct sockaddr *from, socklen_t *fromlen)
PBoolean | os_vwrite (const Slice *slices, size_t sliceCount, int flags, struct sockaddr *to, socklen_t tolen)
PBoolean | os_accept (PSocket &listener, struct sockaddr *addr, socklen_t *size)
Protected Member Functions inherited from PChannel
| PChannel (const PChannel &)
PChannel & | operator= (const PChannel &)
int | ReadCharWithTimeout (PTimeInterval &timeout)
| Read a character with specified timeout. More...
PBoolean | ReceiveCommandString (int nextChar, const PString &reply, PINDEX &pos, PINDEX start)
PBoolean | PXSetIOBlock (PXBlockType type, const PTimeInterval &timeout)
P_INT_PTR | GetOSHandleAsInt () const
int | PXClose ()
| PChannel ()
| Create the channel. More...
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...

## Additional Inherited Members
Public Types inherited from PSocket
enum | Reusability { CanReuseAddress, AddressIsExclusive }
| Flags to reuse of port numbers in Listen() function. More...
Public Types inherited from PChannel
enum | PXBlockType { PXReadBlock, PXWriteBlock, PXAcceptBlock, PXConnectBlock }
enum | Errors { NoError, NotFound, FileExists, DiskFull, AccessDenied, DeviceInUse, BadParameter, NoMemory, NotOpen, Timeout, Interrupted, BufferTooSmall, Miscellaneous, ProtocolFailure, Unavailable, NumNormalisedErrors }
| Normalised error codes. More...
enum | ErrorGroup { LastReadError, LastWriteError, LastGeneralError, NumErrorGroups }
| Error groups. More...
typedef PNotifierTemplate < PChannel::AsyncContext & > | AsyncNotifier
enum | ShutdownValue { ShutdownRead = 0, ShutdownWrite = 1, ShutdownReadAndWrite = 2 }
Static Public Member Functions inherited from PIPSocket
static int | GetDefaultIpAddressFamily ()
| Set the default IP address familly. More...
static void | SetDefaultIpAddressFamily (int ipAdressFamily)
static void | SetDefaultIpAddressFamilyV4 ()
static const PIPSocket::Address & | GetDefaultIpAny ()
static const PIPSocket::Address & | GetInvalidAddress ()
static void | SetSuppressCanonicalName (bool suppress)
| Set flag for suppress getting canonical name when doing lookup via hostname. More...
static bool | GetSuppressCanonicalName ()
| Get flag for suppress getting canonical name when doing lookup via hostname. More...
static PString | GetHostName ()
| Get the "official" host name for the host specified or if none, the host this process is running on. More...
static PString | GetHostName (const PString &hostname)
static PString | GetHostName (const Address &addr)
static PBoolean | GetHostAddress (Address &addr)
| Get the Internet Protocol address for the specified host, or if none specified, for the host this process is running on. More...
static PBoolean | GetHostAddress (const PString &hostname, Address &addr)
static PStringArray | GetHostAliases (const PString &hostname)
| Get the alias host names for the specified host. More...
static PStringArray | GetHostAliases (const Address &addr)
static PBoolean | IsLocalHost (const PString &hostname)
| Determine if the specified host is actually the local machine. More...
static void | ClearNameCache ()
| Clear the name (DNS) cache. More...
static PBoolean | GetRouteTable (RouteTable &table)
| Get the systems route table. More...
static RouteTableDetector * | CreateRouteTableDetector ()
| Create an object that can wait for a change in the route table or active network interfaces. More...
static PBoolean | GetInterfaceTable (InterfaceTable &table, PBoolean includeDown=false)
| Get a list of all interfaces. More...
static PString | GetInterface (const Address &addr)
| Get the interface name for the specified local IP address. More...
static Address | GetInterfaceAddress (const PString &ifName, unsigned version=4)
| Get the interface name for the specified local IP address. More...
static Address | GetNetworkInterface (unsigned version=4)
| Get the address of the first interface to the "Internet". More...
static Address | GetGatewayAddress (unsigned version=4)
| Get the IP address that is being used as the gateway, that is, the computer that packets on the default route will be sent. More...
static PString | GetGatewayInterface (unsigned version=4)
| Get the name for the interface that is being used as the gateway, that is, the interface that packets on the default route will be sent. More...
static Address | GetGatewayInterfaceAddress (unsigned version=4)
| Get the IP address for the interface that is being used as the gateway, that is, the interface that packets on the default route will be sent. More...
static Address | GetRouteInterfaceAddress (Address remoteAddress)
| Get the interface address that will be used to reach the specified remote address. More...
Static Public Member Functions inherited from PSocket
static int | Select (PSocket &sock1, PSocket &sock2)
| Select a socket with available data. More...
static int | Select (PSocket &sock1, PSocket &sock2, const PTimeInterval &timeout)
| Select a socket with available data. More...
static Errors | Select (SelectList &read)
| Select a socket with available data. More...
static Errors | Select (SelectList &read, const PTimeInterval &timeout)
| Select a socket with available data. More...
static Errors | Select (SelectList &read, SelectList &write)
| Select a socket with available data. More...
static Errors | Select (SelectList &read, SelectList &write, const PTimeInterval &timeout)
| Select a socket with available data. More...
static Errors | Select (SelectList &read, SelectList &write, SelectList &except)
| Select a socket with available data. More...
static Errors | Select (SelectList &read, SelectList &write, SelectList &except, const PTimeInterval &timeout)
| Select a socket with available data. More...
static WORD | Host2Net (WORD v)
| Convert from host to network byte order. More...
static DWORD | Host2Net (DWORD v)
| Convert from host to network byte order. More...
static WORD | Net2Host (WORD v)
| Convert from network to host byte order. More...
static DWORD | Net2Host (DWORD v)
| Convert from network to host byte order. More...
static WORD | GetProtocolByName (const PString &name)
| Get the number of the protocol associated with the specified name. More...
static PString | GetNameByProtocol (WORD proto)
| Get the name of the protocol number specified. More...
static WORD | GetPortByService (const char *protocol, const PString &service)
| Get the port number for the specified service name. More...
static PString | GetServiceByPort (const char *protocol, WORD port)
| Get the service name from the port number. More...
Protected Attributes inherited from PIPSocket
QoS | m_qos
Friends inherited from PObject

## Detailed Description

A socket channel that uses the UDP transport on the Internet Protocol.

## Constructor & Destructor Documentation

PUDPSocket::PUDPSocket | ( | WORD | port = `0`,
|  | int | iAddressFamily = `AF_INET`
| ) |  |

Create a UDP socket.

If a remote machine address or a "listening" socket is specified then the channel is also opened.

Parameters

  port | Port number to use for the connection.
  iAddressFamily | Family

PUDPSocket::PUDPSocket | ( | const PString & | service,
|  | int | iAddressFamily = `AF_INET`
| ) |  |

Parameters

  service | Service name to use for the connection.
  iAddressFamily | Family

PUDPSocket::PUDPSocket | ( | const PString & | address,
|  | WORD | port
| ) |  |

Parameters

  address | Address of remote machine to connect to.
  port | Port number to use for the connection.

PUDPSocket::PUDPSocket | ( | const PString & | address,
|  | const PString & | service
| ) |  |

Parameters

  address | Address of remote machine to connect to.
  service | Service name to use for the connection.

## Member Function Documentation

PBoolean PUDPSocket::Connect | ( | const PString & | address | ) |
| virtual

Override of PSocket functions to allow connectionless writes.

Parameters

  address | Address of remote machine to connect to.

Reimplemented from PIPSocket.

Reimplemented in PSocksUDPSocket.

virtual PBoolean PUDPSocket::ConvertOSError | ( | P_INT_PTR | libcReturnValue,
|  | ErrorGroup | group = `LastGeneralError`
| ) |  |
| protected virtual

Convert an operating system error into platform independent error.

The internal error codes are set by this function. They may be obtained via the `GetErrorCode()` and `GetErrorNumber()` functions.

Returns
  true if there was no error.

Reimplemented from PChannel.

virtual PBoolean PUDPSocket::DoPseudoRead | ( | int & | selectStatus | ) |
| virtual

PseudoRead This indicates to the upper system that reading on this socket will be a pseudo read when means there is data available that did not orginate from the physical socket but was programmically injected.

void PUDPSocket::GetLastReceiveAddress | ( | Address & | address,
|  | WORD & | port
| ) |  | const

Get the address of the sender in the last connectionless Read().

Note that thsi only applies to the Read() and not the ReadFrom() function.

Parameters

  address | IP address to send packets.
  port | Port to send packets.

void PUDPSocket::GetLastReceiveAddress | ( | PIPSocketAddressAndPort & | addressAndPort | ) | const

Parameters

  addressAndPort | IP address and port to send packets.

PString PUDPSocket::GetLastReceiveAddress | ( |  | ) | const

virtual const char* PUDPSocket::GetProtocolName | ( |  | ) | const
| protected virtual

This function returns the protocol name for the socket type.

Implements PSocket.

void PUDPSocket::GetSendAddress | ( | Address & | address,
|  | WORD & | port
| ) |  | const

Get the address to use for connectionless Write().

Parameters

  address | IP address to send packets.
  port | Port to send packets.

void PUDPSocket::GetSendAddress | ( | PIPSocketAddressAndPort & | addressAndPort | ) | const

PString PUDPSocket::GetSendAddress | ( |  | ) | const

virtual void PUDPSocket::InternalGetLastReceiveAddress | ( | PIPSocketAddressAndPort & | addr | ) | const
| virtual

virtual void PUDPSocket::InternalGetSendAddress | ( | PIPSocketAddressAndPort & | addr | ) | const
| virtual

virtual bool PUDPSocket::InternalListen | ( | const Address & | bind,
|  | unsigned | queueSize,
|  | WORD | port,
|  | Reusability | reuse
| ) |  |
| protected virtual

Reimplemented from PIPSocket.

virtual void PUDPSocket::InternalSetLastReceiveAddress | ( | const PIPSocketAddressAndPort & | addr | ) |
| virtual

virtual void PUDPSocket::InternalSetSendAddress | ( | const PIPSocketAddressAndPort & | addr | ) |
| virtual

virtual PBoolean PUDPSocket::IsAlternateAddress | ( | const Address & | address,
|  | WORD | port
| ) |  |
| virtual

CallBack to check if the detected address of the connectionless Read() is an alternate address.

Use this to switch the target to send and receive the connectionless read/write.

Parameters

  address | Detected IP Address.
  port | Detected Port.

virtual PBoolean PUDPSocket::OpenSocket | ( |  | ) |
| protected virtual

Implements PSocket.

virtual PBoolean PUDPSocket::OpenSocket | ( | int | ipAdressFamily | ) |
| protected virtual

Open an IPv4 or IPv6 socket.

Implements PIPSocket.

PBoolean PUDPSocket::Read | ( | void * | buf,
|  | PINDEX | len
| ) |  |
| virtual

Override of PChannel functions to allow connectionless reads.

Parameters

  buf | Pointer to a block of memory to read.
  len | Number of bytes to read.

Reimplemented from PSocket.

void PUDPSocket::SetSendAddress | ( | const Address & | address,
|  | WORD | port
| ) |  |

Set the address to use for connectionless Write() or Windows QoS.

Parameters

  address | IP address to send packets.
  port | Port to send packets.

void PUDPSocket::SetSendAddress | ( | const PIPSocketAddressAndPort & | addressAndPort | ) |

PBoolean PUDPSocket::Write | ( | const void * | buf,
|  | PINDEX | len
| ) |  |
| virtual

Override of PChannel functions to allow connectionless writes.

Parameters

  buf | Pointer to a block of memory to write.
  len | Number of bytes to write.

Reimplemented from PSocket.

The documentation for this class was generated from the following file:

- udpsock.h