Klasse, welche über ein SOCKET mit einem Server kommunizieret und ihr Empfangsergebnis vom Typ Message, an ihren "Besitzer", welcher ein Client sein muss, liefert. Das Liefern an den "Besitzer" kann über Methode ClientReceiver::acceptMessage(AbstractMessage * pTcpMessage) in Unterklassen durch Überschreiben der Methode abgeändert werden.
Mehr ...
#include <TcpClientReceiver.h>
|
| ClientReceiver () |
|
| ClientReceiver (SOCKET) |
|
| ClientReceiver (TcpMain *, SOCKET) |
|
| ClientReceiver (TcpMain *, SOCKET, unsigned int) |
|
virtual int | acceptMessage (AbstractMessage *pTcpMessage) override |
|
virtual void | generateNewTcpMessage (AbstractMessage *&prTcpMessage, char *pszRawMsg, unsigned int uiRawMsgSize, unsigned int uiMessageID, int iActionCode, const std::string &rstrInfo) const override |
|
virtual void | generateNewTcpMessage (AbstractMessage *&prTcpMessage, char *pszTransmitData, unsigned int uiTransmitDataSize) const override |
|
virtual void | work () override |
|
| DataReceiver () |
|
| DataReceiver (SOCKET) |
|
| DataReceiver (TcpMain *, SOCKET) |
|
void | initStreamData () |
|
int | processReceivedData (char *pszSentBuffer, unsigned int t_uiSentBufferSize) |
|
| Receiver () |
|
| Receiver (SOCKET Socket) |
|
| ReceiverTransmitter () |
|
ORDER | getOrder () |
|
STATUS | getStatus () |
|
void | setStatus (STATUS eStatus) |
|
void | threadWork () |
|
void | toOrder (ORDER eOrder) |
|
Klasse, welche über ein SOCKET mit einem Server kommunizieret und ihr Empfangsergebnis vom Typ Message, an ihren "Besitzer", welcher ein Client sein muss, liefert. Das Liefern an den "Besitzer" kann über Methode ClientReceiver::acceptMessage(AbstractMessage * pTcpMessage) in Unterklassen durch Überschreiben der Methode abgeändert werden.
- Copyright
- © 2010 Helmut Jakoby
- Autor
- Helmut Jakoby
◆ ClientReceiver() [1/6]
tcp::ClientReceiver::ClientReceiver |
( |
| ) |
|
|
protected |
Dieser Konstruktor steht nicht zur Verfügung.
◆ ClientReceiver() [2/6]
tcp::ClientReceiver::ClientReceiver |
( |
SOCKET | | ) |
|
|
protected |
Dieser Konstruktor steht nicht zur Verfügung.
◆ ClientReceiver() [3/6]
tcp::ClientReceiver::ClientReceiver |
( |
TcpMain * | , |
|
|
SOCKET | ) |
|
protected |
Dieser Konstruktor steht nicht zur Verfügung.
◆ ClientReceiver() [4/6]
tcp::ClientReceiver::ClientReceiver |
( |
TcpMain * | , |
|
|
SOCKET | , |
|
|
unsigned int | ) |
|
protected |
Dieser Konstruktor steht nicht zur Verfügung.
◆ ClientReceiver() [5/6]
tcp::ClientReceiver::ClientReceiver |
( |
Client * | pParent, |
|
|
SOCKET | Socket, |
|
|
unsigned int | uiDataSize ) |
Konstruktor mit Parameterübergabe.
- Parameter
-
[in] | pParent | Das besitzende Elternobjekt. |
[in] | Socket | Der Socket über den kommuniziert wird. |
[in] | uiDataSize | Die Paketgröße. |
- Ausnahmebehandlung
-
◆ ~ClientReceiver()
virtual tcp::ClientReceiver::~ClientReceiver |
( |
| ) |
|
|
virtual |
◆ ClientReceiver() [6/6]
Der Copy-Konstruktor steht nicht zur Verfügung.
◆ acceptMessage()
virtual int tcp::ClientReceiver::acceptMessage |
( |
AbstractMessage * | pTcpMessage | ) |
|
|
overrideprotectedvirtual |
Leitet die übergebene Nachricht an seinen Client weiter, der die Nachricht nach der Verarbeitung auch löscht.
Der Client kann diese dann ggf. in Unterklassen weiter verarbeiten. Wenn die Bearbeitung in einer Unterklasse von ClientReceiver gewünscht wird, kann diese Methode auch überschrieben werden.
- Parameter
-
[in] | pTcpMessage | Die empfangene Nachricht. |
- Rückgabe
- Eine Rückgabe < 0 zeigt einen Fehler an.
- Achtung
- Das übergebene Objekt darf von der aufrufenden Instanz nicht aus dem Speicher entfernt werden.
- Siehe auch
- Message
Implementiert tcp::DataReceiver.
◆ cancel()
virtual void tcp::ClientReceiver::cancel |
( |
| ) |
|
|
overridevirtual |
◆ connected()
bool tcp::ClientReceiver::connected |
( |
| ) |
const |
Ist verbunden?
- Rückgabe
- Wenn true, hat der ClientReceiver einen SOCKET.
◆ generateNewTcpMessage() [1/2]
virtual void tcp::ClientReceiver::generateNewTcpMessage |
( |
AbstractMessage *& | prTcpMessage, |
|
|
char * | pszRawMsg, |
|
|
unsigned int | uiRawMsgSize, |
|
|
unsigned int | uiMessageID, |
|
|
int | iActionCode, |
|
|
const std::string & | rstrInfo ) const |
|
overrideprotectedvirtual |
Generiert eine Message aus übergebenen Parametern.
- Parameter
-
[in,out] | prTcpMessage | Zeiger auf neu generierte Message. Dieses Objekt übernimmt das entfernen der pszRawMsg aus dem Speicher. |
[in] | pszRawMsg | Die Nachrichtendaten. |
[in] | uiRawMsgSize | Die Größe bzw. Länge der Nachrichtendaten. |
[in] | uiMessageID | Eine eindeutige ID. |
[in] | iActionCode | Der ActionCode. |
[in] | rstrInfo | Eine zusätzliche Text-Info |
- Achtung
- Das gelieferte Objekt muss von der aufrufenden Instanz aus dem Speicher entfernt werden.
- Ausnahmebehandlung
-
- Siehe auch
- Message
Implementiert tcp::DataReceiver.
◆ generateNewTcpMessage() [2/2]
virtual void tcp::ClientReceiver::generateNewTcpMessage |
( |
AbstractMessage *& | prTcpMessage, |
|
|
char * | pszTransmitData, |
|
|
unsigned int | uiTransmitDataSize ) const |
|
overrideprotectedvirtual |
Generiert eine Message aus dem übergebenen Datenpuffer und dessen Größe.
- Parameter
-
[in,out] | prTcpMessage | Zeiger auf neu generierte Message. Dieses Objekt übernimmt das entfernen der pszTransmitData aus dem Speicher. |
[in] | pszTransmitData | Der Datenpuffer inkl. aller benötigten Informationen. |
[in] | uiTransmitDataSize | Die Größe bzw. Länge des zu sendenden Datenpuffers. |
- Achtung
- Das gelieferte Objekt muss von der aufrufenden Instanz aus dem Speicher entfernt werden.
- Ausnahmebehandlung
-
eut::ErrorNException | Wenn aus den Daten keine Message instantiiert werden kann (weil z.B. der Header nicht stimmt), wird eine Exception geworfen. |
- Siehe auch
- Message
Implementiert tcp::DataReceiver.
◆ operator=()
Der Zuweisungsoperator steht nicht zur Verfügung.
◆ work()
virtual void tcp::ClientReceiver::work |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ m_bHaveConnection
bool tcp::ClientReceiver::m_bHaveConnection |
|
private |
Hilfsvariable um zu kennzeichnen, ob schon Verbindung aufgebaut ist.
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: