Klasse, welche über ein SOCKET mit einem Client kommunizieret und ihr Empfangsergebnis vom Typ ServerMessage ist, an ihren "Besitzer", welcher ein Server sein muss, liefert. Das Liefern an den "Besitzer" kann über Methode ServerReceiver::acceptMessage(AbstractMessage * pTcpMessage) in Unterklassen durch Überschreiben der Methode abgeändert werden.
Mehr ...
#include <TcpServerReceiver.h>
|
| ServerReceiver () |
|
| ServerReceiver (SOCKET) |
|
| ServerReceiver (TcpMain *, SOCKET) |
|
| ServerReceiver (TcpMain *, SOCKET, unsigned int) |
|
virtual int | acceptMessage (AbstractMessage *pTcpServerMessage) override |
|
virtual void | generateNewTcpMessage (AbstractMessage *&prTcpServerMessage, char *pszRawMsg, unsigned int uiRawMsgSize, unsigned int uiMessageID, int iActionCode, const std::string &rstrInfo) const override |
|
virtual void | generateNewTcpMessage (AbstractMessage *&prTcpServerMessage, 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 Client kommunizieret und ihr Empfangsergebnis vom Typ ServerMessage ist, an ihren "Besitzer", welcher ein Server sein muss, liefert. Das Liefern an den "Besitzer" kann über Methode ServerReceiver::acceptMessage(AbstractMessage * pTcpMessage) in Unterklassen durch Überschreiben der Methode abgeändert werden.
- Copyright
- © 2010 Helmut Jakoby
- Autor
- Helmut Jakoby
◆ ServerReceiver() [1/6]
tcp::ServerReceiver::ServerReceiver |
( |
| ) |
|
|
protected |
Dieser Konstruktor steht nicht zur Verfügung.
◆ ServerReceiver() [2/6]
tcp::ServerReceiver::ServerReceiver |
( |
SOCKET | | ) |
|
|
protected |
Dieser Konstruktor steht nicht zur Verfügung.
◆ ServerReceiver() [3/6]
tcp::ServerReceiver::ServerReceiver |
( |
TcpMain * | , |
|
|
SOCKET | ) |
|
protected |
Dieser Konstruktor steht nicht zur Verfügung.
◆ ServerReceiver() [4/6]
tcp::ServerReceiver::ServerReceiver |
( |
TcpMain * | , |
|
|
SOCKET | , |
|
|
unsigned int | ) |
|
protected |
Dieser Konstruktor steht nicht zur Verfügung.
◆ ServerReceiver() [5/6]
tcp::ServerReceiver::ServerReceiver |
( |
Server * | 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
-
◆ ~ServerReceiver()
virtual tcp::ServerReceiver::~ServerReceiver |
( |
| ) |
|
|
virtual |
◆ ServerReceiver() [6/6]
Der Copy-Konstruktor steht nicht zur Verfügung.
◆ acceptMessage()
virtual int tcp::ServerReceiver::acceptMessage |
( |
AbstractMessage * | pTcpServerMessage | ) |
|
|
overrideprotectedvirtual |
Leitet die übergebene Nachricht an seinen Server weiter, der die Nachricht nach der Verarbeitung auch löscht.
Der Server 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] | pTcpServerMessage | 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
- ServerMessage
Implementiert tcp::DataReceiver.
Erneute Implementation in glo::TcpServerReceiver.
◆ cancel()
virtual void tcp::ServerReceiver::cancel |
( |
| ) |
|
|
overridevirtual |
◆ generateNewTcpMessage() [1/2]
virtual void tcp::ServerReceiver::generateNewTcpMessage |
( |
AbstractMessage *& | prTcpServerMessage, |
|
|
char * | pszRawMsg, |
|
|
unsigned int | uiRawMsgSize, |
|
|
unsigned int | uiMessageID, |
|
|
int | iActionCode, |
|
|
const std::string & | rstrInfo ) const |
|
overrideprotectedvirtual |
Generiert eine ServerMessage aus übergebenen Parametern.
- Parameter
-
[in,out] | prTcpServerMessage | Zeiger auf neu generierte ServerMessage. 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
- ServerMessage
Implementiert tcp::DataReceiver.
◆ generateNewTcpMessage() [2/2]
virtual void tcp::ServerReceiver::generateNewTcpMessage |
( |
AbstractMessage *& | prTcpServerMessage, |
|
|
char * | pszTransmitData, |
|
|
unsigned int | uiTransmitDataSize ) const |
|
overrideprotectedvirtual |
Generiert eine ServerMessage aus Datenpuffer und dessen Größe.
- Parameter
-
[in,out] | prTcpServerMessage | Zeiger auf neu generierte ServerMessage. 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
-
- Siehe auch
- ServerMessage
Implementiert tcp::DataReceiver.
◆ operator=()
Der Zuweisungsoperator steht nicht zur Verfügung.
◆ setValid()
void tcp::ServerReceiver::setValid |
( |
bool | bValid | ) |
|
Wird aufgerufen, wenn Socket nicht mehr ok.
- Parameter
-
[in] | bValid | Wenn es einen SOCKET Fehler gibt, wird hier false übergeben. |
◆ work()
virtual void tcp::ServerReceiver::work |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ m_bValid
bool tcp::ServerReceiver::m_bValid |
|
protected |
Wird ggf. auf false gesetzt, wenn Socket nicht mehr ok.
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: