|
| Patrick's Programming Library Version 7.0.0 - Dokumentation |
UDP-Socket-Klasse. Mehr ...
Öffentliche Methoden | |
| UDPSocket () | |
| Konstruktor der Klasse. Mehr ... | |
| virtual | ~UDPSocket () |
| Destruktor der Klasse. Mehr ... | |
| int | Bind (const char *host, int port) |
| int | GetDescriptor () |
| int | RecvFrom (void *buffer, int maxlen) |
| int | RecvFrom (void *buffer, int maxlen, String &host, int *port) |
| int | RecvFrom (String &buffer, int maxlen) |
| int | SetReadTimeout (int seconds, int useconds) |
| void | setTimeoutRead (int seconds, int useconds) |
| Lese-Timeout festlegen. Mehr ... | |
| void | setTimeoutWrite (int seconds, int useconds) |
| Schreib-Timeout festlegen. Mehr ... | |
Server functions | |
| void | bind (const String &host, int port) |
| Socket auf eine IP-Adresse und Port binden. Mehr ... | |
| virtual int | receiveConnect (UDPSocket *socket, const String &host, int port) |
| bool | isListening () const |
| void | stopListen () |
| void | signalStopListen () |
| void | listen (int timeout=100) |
Misc | |
| int | getDescriptor () |
| Descriptor des Sockets auslesen. Mehr ... | |
| void | setBlocking (bool value) |
| Bei Lesezugriffen blockieren. Mehr ... | |
| bool | isWriteable () |
| bool | isReadable () |
| bool | waitForIncomingData (int seconds, int useconds) |
| Auf eingehende Daten warten. Mehr ... | |
| bool | waitForOutgoingData (int seconds, int useconds) |
| Warten, bis der Socket beschreibbar ist. Mehr ... | |
| SockAddr | getSockAddr () const |
| SockAddr | getPeerAddr () const |
Client functions | |
| size_t | sendTo (const String &host, int port, const void *buffer, size_t bytes) |
| size_t | sendTo (const String &host, int port, const String &buffer) |
| void | setTimeoutConnect (int seconds, int useconds) |
| void | setSource (const String &interface_name, int port=0) |
| Quell-Interface und Port festlegen. Mehr ... | |
| void | connect (const String &host_and_port) |
| Verbindung aufbauen. Mehr ... | |
| void | connect (const String &host, int port) |
| bool | isConnected () const |
| Prüfen, ob eine Verbindung besteht. Mehr ... | |
| void | disconnect () |
| size_t | write (const String &str, size_t bytes=0) |
| size_t | write (const WideString &str, size_t bytes=0) |
| size_t | write (const ByteArrayPtr &bin, size_t bytes=0) |
| size_t | write (const void *buffer, size_t bytes) |
| Daten schreiben. Mehr ... | |
| size_t | writef (const char *fmt,...) |
Private Attribute | |
| int | connect_timeout_sec |
| int | connect_timeout_usec |
| bool | connected |
| void * | socket |
| String | SourceInterface |
| int | SourcePort |
| int | timeout_sec |
| int | timeout_usec |
| ppl7::UDPSocket::UDPSocket | ( | ) |
|
virtual |
| void ppl7::UDPSocket::bind | ( | const String & | host, |
| int | port | ||
| ) |
host die IP-Adresse festgelegt, auf die sich der Server binden soll und mit port der TCP-Port. Es ist nicht möglich einen Socket auf mehrere Adressen zu binden.| [in] | host | IP-Adresse, Hostname oder "*". Bei Angabe von "*" bindet sich der Socket auf alle Interfaces des Servers. |
| [in] | port | Der gewünschte TCP-Port |
| OutOfMemoryException | |
| ResolverException | |
| SettingSocketOptionException | |
| CouldNotBindToInterfaceException | |
| CouldNotOpenSocketException |
| int ppl7::UDPSocket::Bind | ( | const char * | host, |
| int | port | ||
| ) |
| void ppl7::UDPSocket::connect | ( | const String & | host_and_port | ) |
| void ppl7::UDPSocket::connect | ( | const String & | host, |
| int | port | ||
| ) |
| void ppl7::UDPSocket::disconnect | ( | ) |
| int ppl7::UDPSocket::getDescriptor | ( | ) |
| NotConnectedException | Wird geworfen, wenn kein Socket geöffnet ist |
| int ppl7::UDPSocket::GetDescriptor | ( | ) |
| SockAddr ppl7::UDPSocket::getPeerAddr | ( | ) | const |
| SockAddr ppl7::UDPSocket::getSockAddr | ( | ) | const |
| bool ppl7::UDPSocket::isConnected | ( | ) | const |
| bool ppl7::UDPSocket::isListening | ( | ) | const |
| bool ppl7::UDPSocket::isReadable | ( | ) |
| bool ppl7::UDPSocket::isWriteable | ( | ) |
| void ppl7::UDPSocket::listen | ( | int | timeout = 100 | ) |
| int ppl7::UDPSocket::RecvFrom | ( | void * | buffer, |
| int | maxlen | ||
| ) |
| int ppl7::UDPSocket::RecvFrom | ( | void * | buffer, |
| int | maxlen, | ||
| String & | host, | ||
| int * | port | ||
| ) |
| int ppl7::UDPSocket::RecvFrom | ( | String & | buffer, |
| int | maxlen | ||
| ) |
| size_t ppl7::UDPSocket::sendTo | ( | const String & | host, |
| int | port, | ||
| const void * | buffer, | ||
| size_t | bytes | ||
| ) |
| void ppl7::UDPSocket::setBlocking | ( | bool | value | ) |
| [in] | value | Der Wert "true" setzt den Socket in den Blocking-Modus, was auch der Default ist. Durch den Wert "false" wird er in den Non-Blocking-Modus gesetzt. |
| Diverse |
| int ppl7::UDPSocket::SetReadTimeout | ( | int | seconds, |
| int | useconds | ||
| ) |
| void ppl7::UDPSocket::setSource | ( | const String & | interface, |
| int | port = 0 |
||
| ) |
| [in] | interface | Hostname oder IP-Adresse des Quellinterfaces. Bleibt der Parameter leer, wird nur der port beachtet |
| [in] | port | Port-Nummer des Quellinterfaces. Wird 0 angegeben, wird nur das interface beachtet |
host oder port definiert wurden, wird die Connect-Funktion fehlschlagen!| void ppl7::UDPSocket::setTimeoutConnect | ( | int | seconds, |
| int | useconds | ||
| ) |
| void ppl7::UDPSocket::setTimeoutRead | ( | int | seconds, |
| int | useconds | ||
| ) |
Mit dieser Funktion kann ein Timeout für Lesezugriffe gesetzt werden. Normalerweise blockiert eine Leseoperation mit "Read" solange, bis die angeforderten Daten eingegangen sind (ausser der Socket wurde mit TCPSocket::setBlocking auf "Non-Blocking" gesetzt). Mit dieser Funktion kann jedoch ein beliebiger mikrosekunden genauer Timeout festgelegt werden. Der Timeout errechnet sich dabei aus seconds + useconds.
seconds und useconds aufgerufen werden.| [in] | seconds | Anzahl Sekunden |
| [in] | useconds | Anzahl Mikrosekunden (1000000 Mikrosekunden = 1 Sekunde) |
| NotConnectedException | |
| InvalidSocketException | |
| BadFiledescriptorException | |
| UnknownOptionException | |
| BadAddressException | |
| InvalidArgumentsException |
| void ppl7::UDPSocket::setTimeoutWrite | ( | int | seconds, |
| int | useconds | ||
| ) |
Mit dieser Funktion kann ein Timeout für Schreibzugriffe gesetzt werden. Normalerweise blockiert eine Schreiboperation mit "Write" solange, bis alle Daten gesendet wurden. Mit dieser Funktion kann jedoch ein beliebiger mikrosekunden genauer Timeout festgelegt werden. Der Timeout errechnet sich dabei aus seconds + useconds.
seconds und useconds aufgerufen werden.| [in] | seconds | Anzahl Sekunden |
| [in] | useconds | Anzahl Mikrosekunden (1000000 Mikrosekunden = 1 Sekunde) |
| NotConnectedException | |
| InvalidSocketException | |
| BadFiledescriptorException | |
| UnknownOptionException | |
| BadAddressException | |
| InvalidArgumentsException |
| void ppl7::UDPSocket::signalStopListen | ( | ) |
| void ppl7::UDPSocket::stopListen | ( | ) |
| bool ppl7::UDPSocket::waitForIncomingData | ( | int | seconds, |
| int | useconds | ||
| ) |
seconds und useconds angegebene Zeitspanne. Falls seconds und useconds Null sind, und keine Daten bereitstehen, kehrt die Funktion sofort zurück.| [in] | seconds | Anzahl Sekunden, die gewartet werden soll |
| [in] | useconds | Anzahl Mikrosekunden, die gewartet werden soll |
| Diverse |
| bool ppl7::UDPSocket::waitForOutgoingData | ( | int | seconds, |
| int | useconds | ||
| ) |
seconds und useconds angegebene Zeitspanne. Falls seconds und useconds Null sind, und keine Daten gesendet werden können, kehrt die Funktion sofort zurück.| [in] | seconds | Anzahl Sekunden, die gewartet werden soll |
| [in] | useconds | Anzahl Mikrosekunden, die gewartet werden soll |
| Diverse |
| size_t ppl7::UDPSocket::write | ( | const String & | str, |
| size_t | bytes = 0 |
||
| ) |
| size_t ppl7::UDPSocket::write | ( | const WideString & | str, |
| size_t | bytes = 0 |
||
| ) |
| size_t ppl7::UDPSocket::write | ( | const ByteArrayPtr & | bin, |
| size_t | bytes = 0 |
||
| ) |
| size_t ppl7::UDPSocket::write | ( | const void * | buffer, |
| size_t | bytes | ||
| ) |
bytes Bytes aus dem Speicherbereich buffer an die Gegenstelle gesendet.| [in] | buffer | Pointer auf die zu sendenden Daten |
| [in] | bytes | Anzahl zu sendender Bytes |
| size_t ppl7::UDPSocket::writef | ( | const char * | fmt, |
| ... | |||
| ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |