PWLib  1.10.10
Protected Member Functions | Protected Attributes
PUDPSocket Class Reference

#include <udpsock.h>

Inheritance diagram for PUDPSocket:
PIPDatagramSocket PIPSocket PSocket PChannel PObject PSocksUDPSocket PSTUNUDPSocket

List of all members.

Public Member Functions

Construction
 PUDPSocket (WORD port=0)
 PUDPSocket (PQoS *qos, WORD port=0)
 PUDPSocket (const PString &service, PQoS *qos=NULL)
 PUDPSocket (const PString &address, WORD port)
 PUDPSocket (const PString &address, const PString &service)
Overrides from class PSocket
BOOL Read (void *buf, PINDEX len)
BOOL Write (const void *buf, PINDEX len)
BOOL Connect (const PString &address)

Protected Member Functions

virtual BOOL OpenSocket ()
virtual BOOL OpenSocket (int ipAdressFamily)
virtual int OpenSocketGQOS (int af, int type, int proto)
virtual BOOL ApplyQoS ()
virtual const char * GetProtocolName () const

Protected Attributes

Address sendAddress
WORD sendPort
Address lastReceiveAddress
WORD lastReceivePort
PQoS qosSpec

New functions for class

void SetSendAddress (const Address &address, WORD port)
void GetSendAddress (Address &address, WORD &port)
virtual BOOL ModifyQoSSpec (PQoS *qos)
void GetLastReceiveAddress (Address &address, WORD &port)
static BOOL SupportQoS (const PIPSocket::Address &address)
static void EnableGQoS ()

Detailed Description

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


Constructor & Destructor Documentation

PUDPSocket::PUDPSocket ( WORD  port = 0)

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

Parameters:
portPort number to use for the connection.
PUDPSocket::PUDPSocket ( PQoS qos,
WORD  port = 0 
)
Parameters:
qosPointer to a QOS structure for the connection
portPort number to use for the connection.
PUDPSocket::PUDPSocket ( const PString service,
PQoS qos = NULL 
)
Parameters:
serviceService name to use for the connection.
qosPointer to a QOS structure for the connection
PUDPSocket::PUDPSocket ( const PString address,
WORD  port 
)
Parameters:
addressAddress of remote machine to connect to.
portPort number to use for the connection.
PUDPSocket::PUDPSocket ( const PString address,
const PString service 
)
Parameters:
addressAddress of remote machine to connect to.
serviceService name to use for the connection.

Member Function Documentation

virtual BOOL PUDPSocket::ApplyQoS ( ) [protected, virtual]
BOOL PUDPSocket::Connect ( const PString address) [virtual]

Override of PSocket functions to allow connectionless writes

Parameters:
addressAddress of remote machine to connect to.

Reimplemented from PIPSocket.

Reimplemented in PSocksUDPSocket.

static void PUDPSocket::EnableGQoS ( ) [static]

Manually Enable GQoS Support

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

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:
addressIP address to send packets.
portPort to send packets.
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 
)

Get the address to use for connectionless Write().

Parameters:
addressIP address to send packets.
portPort to send packets.
virtual BOOL PUDPSocket::ModifyQoSSpec ( PQoS qos) [virtual]

Change the QOS spec for the socket and try to apply the changes

Parameters:
qosQoS specification to use
virtual BOOL PUDPSocket::OpenSocket ( ) [protected, virtual]

Implements PSocket.

virtual BOOL PUDPSocket::OpenSocket ( int  ipAdressFamily) [protected, virtual]

Implements PIPSocket.

virtual int PUDPSocket::OpenSocketGQOS ( int  af,
int  type,
int  proto 
) [protected, virtual]
BOOL PUDPSocket::Read ( void *  buf,
PINDEX  len 
) [virtual]

Override of PChannel functions to allow connectionless reads

Parameters:
bufPointer to a block of memory to read.
lenNumber 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:
addressIP address to send packets.
portPort to send packets.
static BOOL PUDPSocket::SupportQoS ( const PIPSocket::Address address) [static]

Check to See if the socket will support QoS on the given local Address

BOOL PUDPSocket::Write ( const void *  buf,
PINDEX  len 
) [virtual]

Override of PChannel functions to allow connectionless writes

Parameters:
bufPointer to a block of memory to write.
lenNumber of bytes to write.

Reimplemented from PChannel.


Member Data Documentation

WORD PUDPSocket::lastReceivePort [protected]
WORD PUDPSocket::sendPort [protected]

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