#include <udpsock.h>
Inheritance diagram for PUDPSocket:

New functions for class | |
| void | SetSendAddress (const Address &address, WORD port) |
| Set the address to use for connectionless Write() or Windows QoS. | |
| void | GetSendAddress (Address &address, WORD &port) |
| Get the address to use for connectionless Write(). | |
| virtual PBoolean | ModifyQoSSpec (PQoS *qos) |
| Change the QOS spec for the socket and try to apply the changes. | |
| virtual PQoS & | GetQoSSpec () |
| Get the QOS object for the socket. | |
| void | GetLastReceiveAddress (Address &address, WORD &port) |
| Get the address of the sender in the last connectionless Read(). | |
| virtual PBoolean | IsAlternateAddress (const Address &address, WORD port) |
| CallBack to check if the detected address of the connectionless Read() is an alternate address. | |
| 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. | |
| static PBoolean | SupportQoS (const PIPSocket::Address &address) |
| Check to See if the socket will support QoS on the given local Address. | |
| static void | EnableGQoS () |
| Manually Enable GQoS Support. | |
Public Member Functions | |
Construction | |
| PUDPSocket (WORD port=0, int iAddressFamily=AF_INET) | |
| Create a UDP socket. | |
| PUDPSocket (PQoS *qos, WORD port=0, int iAddressFamily=AF_INET) | |
| PUDPSocket (const PString &service, PQoS *qos=NULL, 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. | |
| PBoolean | Write (const void *buf, PINDEX len) |
| Override of PChannel functions to allow connectionless writes. | |
| PBoolean | Connect (const PString &address) |
| Override of PSocket functions to allow connectionless writes. | |
Protected Member Functions | |
| virtual PBoolean | OpenSocket () |
| virtual PBoolean | OpenSocket (int ipAdressFamily) |
| Open an IPv4 or IPv6 socket. | |
| virtual PBoolean | OpenSocketGQOS (int af, int type, int proto) |
| virtual PBoolean | ApplyQoS () |
| virtual const char * | GetProtocolName () const |
| This function returns the protocol name for the socket type. | |
Protected Attributes | |
| Address | sendAddress |
| WORD | sendPort |
| Address | lastReceiveAddress |
| WORD | lastReceivePort |
| PQoS | qosSpec |
| 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.
| port | Port number to use for the connection. |
| iAddressFamily | Family |
| PUDPSocket::PUDPSocket | ( | PQoS * | qos, | |
| WORD | port = 0, |
|||
| int | iAddressFamily = AF_INET | |||
| ) |
| qos | Pointer to a QOS structure for the connection |
| port | Port number to use for the connection. |
| iAddressFamily | Family |
| service | Service name to use for the connection. |
| qos | Pointer to a QOS structure for the connection |
| iAddressFamily | Family |
| PUDPSocket::PUDPSocket | ( | const PString & | address, | |
| WORD | port | |||
| ) |
| address | Address of remote machine to connect to. |
| port | Port number to use for the connection. |
| address | Address of remote machine to connect to. |
| service | Service name to use for the connection. |
| virtual PBoolean PUDPSocket::ApplyQoS | ( | ) | [protected, virtual] |
Override of PSocket functions to allow connectionless writes.
| address | Address of remote machine to connect to. |
Reimplemented from PIPSocket.
Reimplemented in PSocksUDPSocket.
| 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.
| 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.
| address | IP address to send packets. |
| port | Port to send packets. |
| virtual const char* PUDPSocket::GetProtocolName | ( | ) | const [protected, virtual] |
| virtual PQoS& PUDPSocket::GetQoSSpec | ( | ) | [virtual] |
Get the QOS object for the socket.
| void PUDPSocket::GetSendAddress | ( | Address & | address, | |
| WORD & | port | |||
| ) |
Get the address to use for connectionless Write().
| address | IP address to send packets. |
| port | Port to send packets. |
| 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.
| address | Detected IP Address. |
| port | Detected Port. |
Change the QOS spec for the socket and try to apply the changes.
| qos | QoS specification to use |
| virtual PBoolean PUDPSocket::OpenSocket | ( | int | ipAdressFamily | ) | [protected, virtual] |
| virtual PBoolean PUDPSocket::OpenSocketGQOS | ( | int | af, | |
| int | type, | |||
| int | proto | |||
| ) | [protected, virtual] |
| PBoolean PUDPSocket::Read | ( | void * | buf, | |
| PINDEX | len | |||
| ) | [virtual] |
| void PUDPSocket::SetSendAddress | ( | const Address & | address, | |
| WORD | port | |||
| ) |
Set the address to use for connectionless Write() or Windows QoS.
| address | IP address to send packets. |
| port | Port to send packets. |
| static PBoolean PUDPSocket::SupportQoS | ( | const PIPSocket::Address & | address | ) | [static] |
Check to See if the socket will support QoS on the given local Address.
| PBoolean PUDPSocket::Write | ( | const void * | buf, | |
| PINDEX | len | |||
| ) | [virtual] |
Address PUDPSocket::lastReceiveAddress [protected] |
WORD PUDPSocket::lastReceivePort [protected] |
PQoS PUDPSocket::qosSpec [protected] |
Address PUDPSocket::sendAddress [protected] |
WORD PUDPSocket::sendPort [protected] |
1.4.7