GlobalObjects
Lade ...
Suche ...
Keine Treffer
glo::Client Klassenreferenz

Der Client, welcher mit einem GloServer kommuniziert. Mehr ...

#include <GloClient.h>

Klassendiagramm für glo::Client:

Öffentliche Methoden

 Client (ClientThread *pParentClientThread, const std::string &rstrHostname, unsigned int uiPort, int iAdressFamily, int iSocketType, int iProtocol, int iSecTimeOut)
 
virtual ~Client ()
 
virtual int disconnectServer ()
 
virtual void processServerMessage (tcp::Message *pTcpMessage)
 
int sendOrder (OrderMsg *pOrderMsg)
 
void setWsaeConnResetGloServerCallBack (CallBack *pCallBack)
 
- Öffentliche Methoden geerbt von tcp::Client
 Client (const std::string &rsHostname, unsigned int uiPort, int iAdressFamily, int iSocketType, int iProtocol, int iSecTimeOut)
 
 Client (const std::string &rsHostname, unsigned int uiPort, int iAdressFamily, int iSocketType, int iProtocol, unsigned int uiDataSize, int iSecTimeOut)
 
int acceptServerMessage (Message *pTcpServerMessage)
 
virtual void cancel () override
 
int connectServer ()
 
std::string getHostName () const
 
int getPeerName (std::string &rsIPAdress, unsigned int &ruiPort) const
 
int getSocketAdrFromString (SOCKADDR_IN *Socketadress, const std::string &rsHostnameOrIp) const
 
ActionCode getWaitingServerMsgActionCode () const
 
bool isServerConnected () const
 
virtual int send (char *pszRawMsg, unsigned int uiRawMsgSize, unsigned int uiMessageID=0, int iActionCode=0, const std::string &rsInfo="")
 
virtual int send (Message *pTcpMessage) override
 
virtual void setDataSize (unsigned int uiDataSize) override
 
- Öffentliche Methoden geerbt von tcp::TcpMain
 TcpMain (unsigned int uiPort, int iAdressFamily, int iSocketType, int iProtocol, int iSecTimeOut)
 
 TcpMain (unsigned int uiPort, int iAdressFamily, int iSocketType, int iProtocol, unsigned int uiDataSize, int iSecTimeOut)
 
virtual ~TcpMain ()
 
unsigned int getDataSize () const
 
SOCKET getMainSocket () const
 
unsigned int getPortNum () const
 
void setTimeOutSec (int iSecTimeOut)
 
int TimeOutSec ()
 
- Öffentliche Methoden geerbt von eut::RepeatingThread
 RepeatingThread ()
 
virtual ~RepeatingThread ()
 
virtual void finishBreak ()
 
int getBreakCounter ()
 
bool isInExclusiveAccess () const
 
void setExclusiveAccess ()
 
void signalInput ()
 
virtual int start ()
 
RepeatingThread::STATUS status () const
 
virtual void takeABreak ()
 
bool testCancel ()
 
void unsetExclusiveAccess ()
 
void waitForInput ()
 

Geschützte Methoden

 Client ()
 
 Client (unsigned int, int, int, int, int)
 
 Client (const std::string &, unsigned int, int, int, int, int)
 
 Client (const std::string &, unsigned int, int, int, int, unsigned int, int)
 
- Geschützte Methoden geerbt von tcp::Client
 Client ()
 
 Client (unsigned int, int, int, int, int)
 
virtual ClientReceivergenerateNewReceiver ()
 
virtual TransmittergenerateNewTransmitter ()
 
virtual int syncDataSize ()
 
virtual void work () override
 
- Geschützte Methoden geerbt von tcp::TcpMain
 TcpMain ()
 
void setWSACleanup () const
 
int startWinsock () const
 
- Geschützte Methoden geerbt von eut::RepeatingThread
ORDER getOrder ()
 
STATUS getStatus ()
 
void setStatus (STATUS eStatus)
 
void threadWork ()
 
void toOrder (ORDER eOrder)
 

Private Methoden

 Client (const Client &)
 
Clientoperator= (const Client &)
 

Private Attribute

OrderMsgm_pCurrentOrder
 
ClientThreadm_pParentClientThread
 
CallBackm_pWsaeConnResetGloServerCallBack
 

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
 
- Geschützte Attribute geerbt von tcp::Client
ClientReceiverm_pReceiver
 
Transmitterm_pTransmitter
 
- Geschützte Attribute geerbt von tcp::TcpMain
int m_iAdressFamily
 
int m_iProtocol
 
int m_iSecTimeOut
 
int m_iSocketType
 
SOCKET m_MainSocket
 
unsigned int m_uiDataSize
 
unsigned int m_uiServerPort
 

Ausführliche Beschreibung

Der Client, welcher mit einem GloServer kommuniziert.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ Client() [1/6]

glo::Client::Client ( )
protected

Dieser Konstruktor steht nicht zur Verfügung.

◆ Client() [2/6]

glo::Client::Client ( unsigned int ,
int ,
int ,
int ,
int  )
protected

Dieser Konstruktor steht nicht zur Verfügung.

◆ Client() [3/6]

glo::Client::Client ( const std::string & ,
unsigned int ,
int ,
int ,
int ,
int  )
protected

Dieser Konstruktor steht nicht zur Verfügung.

◆ Client() [4/6]

glo::Client::Client ( const std::string & ,
unsigned int ,
int ,
int ,
int ,
unsigned int ,
int  )
protected

Dieser Konstruktor steht nicht zur Verfügung.

◆ Client() [5/6]

glo::Client::Client ( ClientThread * pParentClientThread,
const std::string & rstrHostname,
unsigned int uiPort,
int iAdressFamily,
int iSocketType,
int iProtocol,
int iSecTimeOut )

Der Konstruktor startet den Client, ist aber noch nicht mit dem Server aus rstrHostname verbunden.

Parameter
[in]pParentClientThreadDie Rückreferenz auf den instanziierenden ClientThread.
[in]rstrHostnameDer Hostname oder IP-Adresse (z.B. "LOCALHOST" oder "192.168.2.102").
[in]uiPortDer Port des Servers.
[in]iAdressFamilyDie Socket-AdressFamily um einen Socket zu instanziieren (i.d.R. AF_INET).
[in]iSocketTypeDer Socket-Typ (i.d.R. SOCK_STREAM).
[in]iProtocolDas Socket-Protokol (i.d.R. 0).
[in]iSecTimeOutDie Zeit bis ein Warten auf eine Verbindung bzw. warten auf Daten abgebrochen wird.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ ~Client()

virtual glo::Client::~Client ( )
virtual

Destruktor.

Erneute Implementation von tcp::Client.

◆ Client() [6/6]

glo::Client::Client ( const Client & )
private

Der Copy-Konstruktor steht nicht zur Verfügung.

Dokumentation der Elementfunktionen

◆ disconnectServer()

virtual int glo::Client::disconnectServer ( )
virtual

Es wird die Verbindung zu dem Server beendet.
Wenn ein evtl. ausstehender Auftrag vorhanden ist, wird dieser mit einer Fehlermeldung ERR_SERVER_CONNECTION_BROKEN an den m_pParentClientThread übermittelt.

Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an. Wenn ein ausstehender Auftrag vorhanden war, ist das kein Fehler welcher als Rückgabewert geliefert wird.

Erneute Implementation von tcp::Client.

◆ operator=()

Client & glo::Client::operator= ( const Client & )
private

Der Zuweisungsoperator steht nicht zur Verfügung.

◆ processServerMessage()

virtual void glo::Client::processServerMessage ( tcp::Message * pTcpMessage)
virtual

Verarbeitet eine Nachricht vom Server. Wenn es eine Antwort auf einen Auftrag ist, wird der Auftrag um die Informationen vom Server erweitert. Wenn eine Information, wird ein Auftrag generiert. So oder so, der Auftrag wird an den m_pParentClientThread übermittelt.

Parameter
[in]pTcpMessageDie zu verarbeitende Nachricht vom Server.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

Erneute Implementation von tcp::Client.

◆ sendOrder()

int glo::Client::sendOrder ( OrderMsg * pOrderMsg)

Konvertiert den Auftrag in einen streambaren Puffer und sendet diesen an den Server.

Parameter
[in]pOrderMsgDer zu versendende Auftrag.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Siehe auch
OrderMsg::streamOrderInBlob(eut::Blob&,EnStreamOrderDataType)const
tcp::Client::send(char*,unsigned int,unsigned int,int,const std::string& )

◆ setWsaeConnResetGloServerCallBack()

void glo::Client::setWsaeConnResetGloServerCallBack ( CallBack * pCallBack)

Setzt m_pWsaeConnResetGloServerCallBack.

Parameter
[in]pCallBackWenn ein gültiges Objekt, wird bei einem Verbindungsabbruch zum GloServer CallBack::notify(glo::NotifyNote&) mit entsprechender glo::NotifyNote aufgerufen.

Dokumentation der Datenelemente

◆ m_pCurrentOrder

OrderMsg* glo::Client::m_pCurrentOrder
private

Der aktuelle Auftrag wird aufbewahrt um eine Antwort vom Server zu übertragen. Grundsätzlich werden vom Client nur Anfragen mit zu erwartender Antwort gesendet.

◆ m_pParentClientThread

ClientThread* glo::Client::m_pParentClientThread
private

Der Client-Thread ist Elternobjekt (dieser instanziiert ein Objekt dieser Klasse) und muss im Zugriff sein wegen der Anworten des Servers.

◆ m_pWsaeConnResetGloServerCallBack

CallBack* glo::Client::m_pWsaeConnResetGloServerCallBack
private

Wenn gesetzt, wird bei einem Verbindungsabbruch zum GloServer CallBack::notify(glo::NotifyNote&) mit entsprechender glo::NotifyNote aufgerufen.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: