GlobalObjects
|
Der Server, welcher mit Client's kommuniziert. Mehr ...
#include <GloServer.h>
Klassen | |
class | TcpServerReceiverTransmitter |
Ein spezieller ServerReceiverTransmitter für den Server. Sein ServerReceiver ist vom abgeleiteten Typ TcpServerReceiver und er kann Aufträge versenden. Mehr ... | |
Öffentliche Methoden | |
Server (const std::string &rsSchemaPath, const std::vector< std::string > &rKnownSchemesVector, unsigned int uiPort, int iAdressFamily, int iSocketType, int iProtocol, unsigned int uiDataSize, unsigned long ulMaxClients, int iSecTimeOut) | |
virtual | ~Server () |
virtual void | cancel () override |
virtual tcp::Server::ServerReceiverTransmitter * | generateNewServerReceiverTransmitter (tcp::Server *pParent, SOCKET nSocket, unsigned int uiDataSize) const override |
void | getAllClients (std::vector< ClientInfo > &rClientInfoVector) const |
void | getAllKnownBases (std::vector< std::string > &rKnownBasesVector) const |
std::string | getSchemaPath () const |
ShowLevel | getShowLevel () |
virtual void | insertNewClient (Server::ServerReceiverTransmitter *pNewServerReceiverTransmitter) override |
virtual void | processClientMessage (tcp::AbstractMessage *pTcpMessage) override |
virtual int | removeClient (SOCKET nSocket) override |
void | setActionVisualiser (ManagerActionVisualiser *pActionVisualiser) |
void | setShowLevel (ShowLevel ulLevel) |
Öffentliche Methoden geerbt von tcp::Server | |
Server (unsigned int uiPort, int iAdressFamily, int iSocketType, int iProtocol, unsigned int uiDataSize, unsigned long ulMaxClients, int iSecTimeOut) | |
int | acceptClientMessage (AbstractMessage *pTcpMessage) |
Ö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 |
virtual void | setDataSize (unsigned int uiDataSize) |
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 | |
Server () | |
Dieser Konstruktor steht nicht zur Verfügung. | |
Server (unsigned int, int, int, int, int) | |
Dieser Konstruktor steht nicht zur Verfügung. | |
Server (unsigned int, int, int, int, unsigned int, int) | |
Dieser Konstruktor steht nicht zur Verfügung. | |
Server (unsigned int, int, int, int, unsigned int, unsigned long, int) | |
Dieser Konstruktor steht nicht zur Verfügung. | |
Geschützte Methoden geerbt von tcp::Server | |
Server () | |
Server (unsigned int, int, int, int, int) | |
Server (unsigned int, int, int, int, unsigned int, int) | |
void | clearClientMap () |
Server::ServerReceiverTransmitter * | getClient (SOCKET Socket) |
unsigned long | getMaxClients () const |
virtual int | send (Message *pTcpMessage) override |
virtual int | send (SOCKET ClientSocket, char *pszRawMsg, unsigned int uiRawMsgSize, unsigned int uiMessageID=0, int iActionCode=0, const std::string &rstrInfo="") |
void | setClientMapReceiverValid (bool bValid) |
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 | |
Server (const Server &) | |
Server & | operator= (const Server &) |
Private Attribute | |
Manager * | m_pGloManager |
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::Server | |
std::map< SOCKET, ServerReceiverTransmitter *, std::less< SOCKET > > | m_ClientMap |
ServerAcceptReceiver * | m_pAcceptReceiver |
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 |
|
protected |
Dieser Konstruktor steht nicht zur Verfügung.
|
protected |
Dieser Konstruktor steht nicht zur Verfügung.
|
protected |
Dieser Konstruktor steht nicht zur Verfügung.
|
protected |
Dieser Konstruktor steht nicht zur Verfügung.
glo::Server::Server | ( | const std::string & | rsSchemaPath, |
const std::vector< std::string > & | rKnownSchemesVector, | ||
unsigned int | uiPort, | ||
int | iAdressFamily, | ||
int | iSocketType, | ||
int | iProtocol, | ||
unsigned int | uiDataSize, | ||
unsigned long | ulMaxClients, | ||
int | iSecTimeOut ) |
Der Konstruktor startet den Server.
[in] | rsSchemaPath | Das Verzeichnis in dem die Schemata für den Manager liegen. |
[in] | rKnownSchemesVector | Die bekannten Schematas für den Manager. |
[in] | uiPort | Der Port des Servers. |
[in] | iAdressFamily | Die Socket-AdressFamily um einen Socket zu instanziieren (i.d.R. AF_INET). |
[in] | iSocketType | Der Socket-Typ (i.d.R. SOCK_STREAM). |
[in] | iProtocol | Das Socket-Protokol (i.d.R. 0). |
[in] | uiDataSize | Die Paketgröße. |
[in] | ulMaxClients | Die maximale Anzahl von Clients, die sich verbinden dürfen. |
[in] | iSecTimeOut | Die Zeit bis ein Warten auf eine Verbindung bzw. warten auf Daten abgebrochen wird. |
eut::ErrorNException | Bei einem Fehler wird eine Exception geworfen. |
|
virtual |
Destruktor.
Erneute Implementation von tcp::Server.
|
private |
Der Copy-Konstruktor steht nicht zur Verfügung.
|
overridevirtual |
Wenn der Thread beendet wirde, wird diese virtuale Methode aufgerufen. Hier wird die MsgQueue aufgeräumt.
Erneute Implementation von tcp::Server.
|
overridevirtual |
Liefert hier einen TcpServerReceiverTransmitter mit tcp::Transmitter und TcpServerReceiver.
[in] | pParent | Server oder Unterklasse. |
[in] | nSocket | Socket des neuen Clients. |
[in] | uiDataSize | Die Packetgröße. |
Erneute Implementation von tcp::Server.
void glo::Server::getAllClients | ( | std::vector< ClientInfo > & | rClientInfoVector | ) | const |
Liefert alle verbundenen Clients.
[in,out] | rClientInfoVector | Die angemeldeten Clients mit ihrer Kommunikator-ID und der Bezeichnung der geöffneten Datenbank. |
void glo::Server::getAllKnownBases | ( | std::vector< std::string > & | rKnownBasesVector | ) | const |
Kopiert die Bezeichnungen aller bekannten Schemata bzw. Datenbanken, in den übergebenen Vector.
[in,out] | rKnownBasesVector | Die Bezeichnungen aller bekannten Schemata bzw. Datenbanken. |
std::string glo::Server::getSchemaPath | ( | ) | const |
Liefert den Datei-Pfad wo die Schemadatei zu finden ist.
ShowLevel glo::Server::getShowLevel | ( | ) |
Liefert den aktuellen Anzeigelevel im Manager.
|
overridevirtual |
Ruft zuerst die selbige Methode in der Oberklasse auf. Wenn erfolgreich, wird der Manager darüber informiert, dass sich ein neuer Client mit dem Server verbunden hat.
[in] | pNewServerReceiverTransmitter | Der neue Client-Socket ist in diesem Objekt. |
Erneute Implementation von tcp::Server.
Der Zuweisungsoperator steht nicht zur Verfügung.
|
overridevirtual |
Lässt den Manager anzeigen, was da für ein TCP-Nachricht eingegangen ist und gibt dann an Unterklassenmethode gleichen Namens ab.
Wenn eine ServerMessage übergeben wurde und deren ActionCode == ERR_WRONG_STREAMTYPE wird der Socket der ServerMessage geschlossen (siehe ServerMessage::closeSocket() ).
[in] | pTcpMessage | Die zu verarbeitende Nachricht vom Client. |
Erneute Implementation von tcp::Server.
|
overridevirtual |
Ruft zuerst die selbige Methode in der Oberklasse auf. Wenn erfolgreich, wird der Manager darüber informiert, dass sich ein Client vom Server abgemeldet hat.
[in] | nSocket | Der Socket, welcher geschlossen werden soll. |
Erneute Implementation von tcp::Server.
void glo::Server::setActionVisualiser | ( | ManagerActionVisualiser * | pActionVisualiser | ) |
Setzt den Aktions-Visualisierer im Manager.
[in] | pActionVisualiser | Der Aktions-Visualisierer. |
void glo::Server::setShowLevel | ( | ShowLevel | ulLevel | ) |
Setzt im Manager den Anzeigelevel.
[in] | ulLevel | Der Anzeigelevel. |
|
private |
Wird hier referenziert um einen Aktions-Visualisierer zu übergeben und die TCP-Aktionen anzeigen zu können (wenn denn so eingestellt).