GlobalObjects
Lade ...
Suche ...
Keine Treffer
tcp::ServerReceiver Klassenreferenz

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>

Klassendiagramm für tcp::ServerReceiver:

Öffentliche Methoden

 ServerReceiver (Server *pParent, SOCKET Socket, unsigned int uiDataSize)
 
virtual ~ServerReceiver ()
 
virtual void cancel () override
 
void setValid (bool bValid)
 
- Öffentliche Methoden geerbt von tcp::DataReceiver
 DataReceiver (TcpMain *pParent, SOCKET Socket, unsigned int uiDataSize)
 
virtual ~DataReceiver ()
 
unsigned int getDataSize () const
 
void setDataSize (unsigned int uiDataSize)
 
- Öffentliche Methoden geerbt von tcp::Receiver
 Receiver (TcpMain *pParent, SOCKET Socket)
 
virtual ~Receiver ()
 
- Öffentliche Methoden geerbt von tcp::ReceiverTransmitter
 ReceiverTransmitter (SOCKET Socket)
 
virtual ~ReceiverTransmitter ()
 
virtual void finishBreak () override
 
int getPeerName (std::string &rstrIPAdress, unsigned int &ruiPort) const
 
SOCKET Socket () const
 
virtual void takeABreak () override
 
- Öffentliche Methoden geerbt von eut::RepeatingThread
 RepeatingThread ()
 
virtual ~RepeatingThread ()
 
int getBreakCounter ()
 
bool isInExclusiveAccess () const
 
void setExclusiveAccess ()
 
void signalInput ()
 
virtual int start ()
 
RepeatingThread::STATUS status () const
 
bool testCancel ()
 
void unsetExclusiveAccess ()
 
void waitForInput ()
 

Geschützte Methoden

 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
 
- Geschützte Methoden geerbt von tcp::DataReceiver
 DataReceiver ()
 
 DataReceiver (SOCKET)
 
 DataReceiver (TcpMain *, SOCKET)
 
void initStreamData ()
 
int processReceivedData (char *pszSentBuffer, unsigned int t_uiSentBufferSize)
 
- Geschützte Methoden geerbt von tcp::Receiver
 Receiver ()
 
 Receiver (SOCKET Socket)
 
- Geschützte Methoden geerbt von tcp::ReceiverTransmitter
 ReceiverTransmitter ()
 
- Geschützte Methoden geerbt von eut::RepeatingThread
ORDER getOrder ()
 
STATUS getStatus ()
 
void setStatus (STATUS eStatus)
 
void threadWork ()
 
void toOrder (ORDER eOrder)
 

Geschützte Attribute

bool m_bValid
 
- Geschützte Attribute geerbt von tcp::DataReceiver
char * m_pszSentBuffer
 
char * m_szStreamBuffer
 
unsigned int m_uiDataSize
 
unsigned int m_uiStreamPosistion
 
unsigned int m_uiStreamSize
 
- Geschützte Attribute geerbt von tcp::Receiver
TcpMainm_pParentTcpMain
 
- Geschützte Attribute geerbt von tcp::ReceiverTransmitter
SOCKET m_Socket
 

Private Methoden

 ServerReceiver (const ServerReceiver &)
 
ServerReceiveroperator= (const ServerReceiver &)
 

Weitere Geerbte Elemente

- Öffentliche Typen geerbt von eut::RepeatingThread
enum  EuTHREADERROR { EuTHREAD_ERR_NO_THREAD = -10301 , EuTHREAD_ERR_THREAD_ALREADY_WORKING = -10302 , EuTHREAD_ERR_THREAD_BREAK_COUNT_LESS_THAN_ZERO = -10303 , EuTHREAD_ERR_UNKNOWN = -10400 }
 Fehlerbereich = -10301 bis -10400 Mehr ...
 
enum  ORDER { eUNDEFINED , eDO_WORK , eEXIT }
 
enum  STATUS {
  eAT_THE_START , eWORKING , ePAUSING , eENDING ,
  eCOMPLETED
}
 
- Öffentliche Attribute geerbt von eut::RepeatingThread
std::string m_strDebugInfo
 

Ausführliche Beschreibung

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.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ 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]pParentDas besitzende Elternobjekt.
[in]SocketDer Socket über den kommuniziert wird.
[in]uiDataSizeDie Paketgröße.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ ~ServerReceiver()

virtual tcp::ServerReceiver::~ServerReceiver ( )
virtual

Destruktor.

◆ ServerReceiver() [6/6]

tcp::ServerReceiver::ServerReceiver ( const ServerReceiver & )
private

Der Copy-Konstruktor steht nicht zur Verfügung.

Dokumentation der Elementfunktionen

◆ 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]pTcpServerMessageDie 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

Beendet den Thread.

Erneute Implementation von eut::RepeatingThread.

◆ 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]prTcpServerMessageZeiger auf neu generierte ServerMessage. Dieses Objekt übernimmt das entfernen der pszRawMsg aus dem Speicher.
[in]pszRawMsgDie Nachrichtendaten.
[in]uiRawMsgSizeDie Größe bzw. Länge der Nachrichtendaten.
[in]uiMessageIDEine eindeutige ID.
[in]iActionCodeDer ActionCode.
[in]rstrInfoEine zusätzliche Text-Info
Achtung
Das gelieferte Objekt muss von der aufrufenden Instanz aus dem Speicher entfernt werden.
Ausnahmebehandlung
eut::ErrorNExceptionWenn aus den Parametern keine ServerMessage instantiiert werden kann, wird eine Exception geworfen.
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]prTcpServerMessageZeiger auf neu generierte ServerMessage. Dieses Objekt übernimmt das entfernen der pszTransmitData aus dem Speicher.
[in]pszTransmitDataDer Datenpuffer inkl. aller benötigten Informationen.
[in]uiTransmitDataSizeDie 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::ErrorNExceptionWenn aus den Daten keine ServerMessage instantiiert werden kann (weil z.B. der Header nicht stimmt), wird eine Exception geworfen.
Siehe auch
ServerMessage

Implementiert tcp::DataReceiver.

◆ operator=()

ServerReceiver & tcp::ServerReceiver::operator= ( const ServerReceiver & )
private

Der Zuweisungsoperator steht nicht zur Verfügung.

◆ setValid()

void tcp::ServerReceiver::setValid ( bool bValid)

Wird aufgerufen, wenn Socket nicht mehr ok.

Parameter
[in]bValidWenn es einen SOCKET Fehler gibt, wird hier false übergeben.

◆ work()

virtual void tcp::ServerReceiver::work ( )
overrideprotectedvirtual

Nimmt von seinem Socket Streams entgegen (ist bis zu Empfang blockiert), macht aus den Daten eine ServerMessage welche in ServerReceiver::acceptMessage(AbstractMessage * pTcpMessage) weiter verarbeitet wird.

Implementiert eut::RepeatingThread.

Dokumentation der Datenelemente

◆ 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: