Oberklasse für Client sowie Server, welche ihr KnowHow in den abgeleiteten Klassen 'lernt'.
Mehr ...
#include <TcpMain.h>
Oberklasse für Client sowie Server, welche ihr KnowHow in den abgeleiteten Klassen 'lernt'.
- Copyright
- © 2010 Helmut Jakoby
- Autor
- Helmut Jakoby
◆ TcpMain() [1/4]
tcp::TcpMain::TcpMain |
( |
| ) |
|
|
protected |
Dieser Konstruktor steht niccht zur Verfügung.
◆ TcpMain() [2/4]
tcp::TcpMain::TcpMain |
( |
unsigned int | uiPort, |
|
|
int | iAdressFamily, |
|
|
int | iSocketType, |
|
|
int | iProtocol, |
|
|
int | iSecTimeOut ) |
Konstruktor mit Parameterübergabe.
- Parameter
-
[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] | iSecTimeOut | Die Zeit bis ein Warten auf eine Verbindung bzw. warten auf Daten abgebrochen wird. |
Es wird unter Windows WSA gestartet.
- Ausnahmebehandlung
-
◆ TcpMain() [3/4]
tcp::TcpMain::TcpMain |
( |
unsigned int | uiPort, |
|
|
int | iAdressFamily, |
|
|
int | iSocketType, |
|
|
int | iProtocol, |
|
|
unsigned int | uiDataSize, |
|
|
int | iSecTimeOut ) |
Konstruktor mit Parameterübergabe.
- Parameter
-
[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 muss größer 0 sein. |
[in] | iSecTimeOut | Die Zeit bis ein Warten auf eine Verbindung bzw. Daten abgebrochen wird. |
Es wird unter Windows WSA gestartet.
- Ausnahmebehandlung
-
◆ ~TcpMain()
virtual tcp::TcpMain::~TcpMain |
( |
| ) |
|
|
virtual |
Destruktor. Es wird unter Windows WSA beendet.
◆ TcpMain() [4/4]
tcp::TcpMain::TcpMain |
( |
const TcpMain & | | ) |
|
|
private |
Der Copy-Konstruktor steht nicht zur Verfügung.
◆ getDataSize()
unsigned int tcp::TcpMain::getDataSize |
( |
| ) |
const |
◆ getMainSocket()
SOCKET tcp::TcpMain::getMainSocket |
( |
| ) |
const |
◆ getPortNum()
unsigned int tcp::TcpMain::getPortNum |
( |
| ) |
const |
◆ operator=()
Der Zuweisungsoperator steht nicht zur Verfügung.
◆ send()
virtual int tcp::TcpMain::send |
( |
Message * | pTcpMessage | ) |
|
|
pure virtual |
Sendet übergebene Message an den Konterpart.
Wenn This ein Client ist, ist der Konterpart der Server. Wenn This ein Server, ist der Konterpart der Server. Es wird übergebene Nachricht an den dort referenzierten Konterpart-Socket gesendet.
Die Implementierung ist in den Unterklasse ausgeführt.
- Parameter
-
[in] | pTcpMessage | Die zu versendende Nachricht. |
- Rückgabe
- Eine Rückgabe < 0 zeigt einen Fehler an.
Implementiert in tcp::Client und tcp::Server.
◆ setDataSize()
virtual void tcp::TcpMain::setDataSize |
( |
unsigned int | uiDataSize | ) |
|
|
virtual |
Setzt die Paketgröße.
- Parameter
-
[in] | uiDataSize | Die Paketgröße muß gröser 0 sein. |
- Ausnahmebehandlung
-
Erneute Implementation in tcp::Client.
◆ setTimeOutSec()
void tcp::TcpMain::setTimeOutSec |
( |
int | iSecTimeOut | ) |
|
Setzt die Sekunden, die auf Antworten geartet wird.
- Parameter
-
[in] | iSecTimeOut | Die maximale Wartezeit. |
◆ setWSACleanup()
void tcp::TcpMain::setWSACleanup |
( |
| ) |
const |
|
protected |
Es wird m_uiTcpMainCounter dekrementiert und unter Windows wenn 0, WSACleanup() aufgerufen (schließt ALLE Verbindungen).
◆ startWinsock()
int tcp::TcpMain::startWinsock |
( |
| ) |
const |
|
protected |
Es wird unter Windows WSA mittels WSAStartup() gestartet.
- Rückgabe
- Eine Rückgabe < 0 zeigt einen Fehler an.
◆ TimeOutSec()
int tcp::TcpMain::TimeOutSec |
( |
| ) |
|
Liefert die Sekunden, wie lange auf Antworten gewartet wird.
- Rückgabe
- Die maximale Wartezeit.
◆ m_iAdressFamily
int tcp::TcpMain::m_iAdressFamily |
|
protected |
Die Socket-AdressFamily (i.d.R. AF_INET) um einen Socket zu instanziieren.
◆ m_iProtocol
int tcp::TcpMain::m_iProtocol |
|
protected |
Das Socket-Protokol (i.d.R. 0) um einen Socket zu instanziieren.
◆ m_iSecTimeOut
int tcp::TcpMain::m_iSecTimeOut |
|
protected |
Wartezeit für Verbindungsantworten. wenn nicht gesetzt, wird ggf. ewig gewartet!
◆ m_iSocketType
int tcp::TcpMain::m_iSocketType |
|
protected |
Der Socket-Typ (i.d.R. SOCK_STREAM) um einen Socket zu instanziieren.
◆ m_MainSocket
SOCKET tcp::TcpMain::m_MainSocket |
|
protected |
◆ m_uiDataSize
unsigned int tcp::TcpMain::m_uiDataSize |
|
protected |
Es werden aus dem Datenstrom Packete gemacht; hier die Paketgröße (default ist DEFAULT_DATASIZE).
◆ m_uiServerPort
unsigned int tcp::TcpMain::m_uiServerPort |
|
protected |
◆ m_uiTcpMainCounter
unsigned int tcp::TcpMain::m_uiTcpMainCounter |
|
staticprivate |
Bei jeder Instanziierung eines Objektes dieser Klasse bzw. Unterklasse wird dieser Zähler inkrementiert . Bei jedem Aufruf von setWSACleanup() wiederum dekrementieret.
- Siehe auch
- setWSACleanup()
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: