GlobalObjects
|
Klassen | |
class | AbstractMessage |
Basisklasse für Nachrichten, welche von den Tcp-Klassen verschickt, empfangen und bearbeitet werden können. Mehr ... | |
class | Client |
Eine einfache TCP-Clientklasse, welche ihr KnowHow in den abgeleiteten Klassen lernen soll. Mehr ... | |
class | ClientReceiver |
Klasse, welche über ein SOCKET mit einem Server kommunizieret und ihr Empfangsergebnis vom Typ Message, an ihren "Besitzer", welcher ein Client sein muss, liefert. Das Liefern an den "Besitzer" kann über Methode ClientReceiver::acceptMessage(AbstractMessage * pTcpMessage) in Unterklassen durch Überschreiben der Methode abgeändert werden. Mehr ... | |
class | DataReceiver |
Oberklasse für alle Receiver, welche über ein SOCKET kommunizieren und ihr Empfangsergebnis, ein von AbstractMessage abgeleiteter Typ , an ihren "Besitzer" liefert. Da eine Nachricht zusammengesetzt sein kann (ist ja ein Stream, welcher ggf. in Häppchen geliefert wird), wird hier ein Puffer etapliert, welche solange Daten enthält, solnge der Stream nicht vollständig ist. Mehr ... | |
class | Message |
Beinhaltet einen Datenstrom, welcher von den Tcp-Klassen versendet und empfangen werden kann. Mehr ... | |
class | Receiver |
Oberklasse für alle TcpReceiver, welche über ein SOCKET kommunizieren und ihr Empfangsergebnis an ihr Elternobjekt liefert. Mehr ... | |
class | ReceiverTransmitter |
Oberklasse für alle Receiver und Transmitter, welche über ein SOCKET kommunizieren. Mehr ... | |
class | Server |
Eine einfache TCP-Serverklasse, welche ihr KnowHow in den abgeleiteten Klassen lernen soll. Mehr ... | |
class | ServerAcceptMessage |
Ein spezielle Tcp-Message, damit kann der ServerAcceptReceiver einen neuen Client anmelden. Mehr ... | |
class | ServerAcceptReceiver |
Accept-Receiver nimmt neue Clients an und meldet diese bei seinem Eltern-Objekt an (i.d.R. ein Server bzw. eine Unterklasse von diesem). Mehr ... | |
class | ServerMessage |
Ist eine spezielle Tcp-Message für den Server. Damit dieser weiß, an wen er die Daten senden soll, ist der Socket enthalten. Mehr ... | |
class | ServerReceiver |
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 ... | |
class | TcpMain |
Oberklasse für Client sowie Server, welche ihr KnowHow in den abgeleiteten Klassen 'lernt'. Mehr ... | |
class | Transmitter |
Eine Klasse, welche über ein SOCKET mit einem Client oder Server kommunizieret und Senddaten vom Typ Message erwartet. Mehr ... | |
Variablen | |
const std::string | sTcpVersion = "1.0.3" |
enum tcp::ActionCode |
Wird für Message zwischen Client und Server benötigt, um zu kennzeichnen, was gewollt ist.
Aufzählungswerte | |
---|---|
ACTION_UNDEF | Undefinierte Aktion. |
ACTION_SYNC_DATA_SIZE | Aktion zum synchronisieren der Paketgröße zwischen Server und Client. |
ACTION_REQUEST | Es wird etwas von der Kommunikationsgegenseite angefordert ohne auf eine Antwort zu warten. |
ACTION_REQUEST_WITH_RESPONSE | Es wird etwas von der Kommunikationsgegenseite angefordert und darauf gewartet. |
ACTION_RESPONSE | Es wurde etwas von der Kommunikationsgegenseite angefordert ohne auf eine direkte Antwort zu warten; das ist die Antwort. |
ACTION_INFO | Eine Info von der Kommunikationsgegenseite. |
enum tcp::ERRORS |
Fehlerbereich = -10001 bis -10200
Für die Socket-Fehler (alle von -10004 bis -11004) sind Beschreibungen im Internet zu finden.
Für Windows Sockets z.B. unter: https://msdn.microsoft.com/de-de/library/windows/desktop/ms740668%28v=vs.85%29.aspx oder allgemein auch unter: https://gist.github.com/gabrielfalcao/4216897
Aufzählung nicht vollständig!
Aufzählungswerte | |
---|---|
ERR_WSAEINTR | -10004: |
ERR_WSAEBADF | -10009: |
ERR_WSAEACCES | -10013: |
ERR_WSAEFAULT | -10014: |
ERR_WSAEINVAL | -10022: |
ERR_WSAEMFILE | -10024: |
ERR_WSAEWOULDBLOCK | -10035: |
ERR_WSAEINPROGRESS | -10036: |
ERR_WSAEALREADY | -10037: |
ERR_WSAENOTSOCK | -10038: |
ERR_WSAEDESTADDRREQ | -10039: |
ERR_WSAEMSGSIZE | -10040: |
ERR_WSAEPROTOTYPE | -10041: |
ERR_WSAENOPROTOOPT | -10042: |
ERR_WSAEPROTONOSUPPORT | -10043: |
ERR_WSAESOCKTNOSUPPORT | -10044: |
ERR_WSAEOPNOTSUPP | -10045: |
ERR_WSAEPFNOSUPPORT | -10046: |
ERR_WSAEAFNOSUPPORT | -10047: |
ERR_WSAEADDRINUSE | -10048: |
ERR_WSAEADDRNOTAVAIL | -10049: |
ERR_WSAENETDOWN | -10050: |
ERR_WSAENETUNREACH | -10051: |
ERR_WSAENETRESET | -10052: |
ERR_WSAECONNABORTED | -10053: |
ERR_WSAECONNRESET | -10054: |
ERR_WSAENOBUFS | -10055: |
ERR_WSAEISCONN | -10056: |
ERR_WSAENOTCONN | -10057: |
ERR_WSAESHUTDOWN | -10058: |
ERR_WSAETOOMANYREFS | -10059: |
ERR_WSAETIMEDOUT | -10060: |
ERR_WSAECONNREFUSED | -10061: |
ERR_WSAELOOP | -10062: |
ERR_WSAENAMETOOLONG | -10063: |
ERR_WSAEHOSTDOWN | -10064: |
ERR_WSAEHOSTUNREACH | -10065: |
ERR_WSAENOTEMPTY | -10066: |
ERR_WSAEPROCLIM | -10067: |
ERR_WSAEUSERS | -10068: |
ERR_WSAEDQUOT | -10069: |
ERR_WSAESTALE | -10070: |
ERR_WSAEREMOTE | -10071: |
ERR_WSASYSNOTREADY | -10091: |
ERR_WSAVERNOTSUPPORTED | -10092: |
ERR_WSANOTINITIALISED | -10093: |
ERR_WSAHOST_NOT_FOUND | -11001: |
ERR_WSATRY_AGAIN | -11002: |
ERR_WSANO_RECOVERY | -11003: |
ERR_WSANO_DATA | -11004: |
ERR_PARAMETER_NULL_FORBIDDEN | -10101: Es wurde ein, nicht erlaubter, NULL-Parameter übergeben. |
ERR_SOCKET_ALREADY_EXISTING | -10102: Ein zu initialisierender Socket existiert bereits bzw. ist schon verbunden. |
ERR_SOCKET_NOT_EXISTING | -10103: Der erwarteter Socket existiert nicht. |
ERR_NO_HOSTNAME | -10104: Es wurde keinen Hostname als Parameter übergeben. |
ERR_UNKNOWN_HOSTNAME | -10105: Der Hostname ist unbekannt. |
ERR_NO_PORT | -10106: Es wurde kein bzw. kein gültiger Port als Parameter übergeben. |
ERR_ALLREADY_CONNECTED | -10107: Die Socketverbindung besteht schon. |
ERR_CONNECTION_BROKEN | -10108: Die Socketverbindung wurde unterbrochen. |
ERR_NO_DATASIZE | -10109: Eine erwartete Datengröße ist NULL. |
ERR_MAX_CLIENTS_TO_LOW | -10110: Die maximale Anzahl von Verbindungen wurde nicht gesetzt bzw. ist 0. |
ERR_NO_SOCKETINDEX | -10111: Der Server hat einen Client in seiner Clientliste nicht gefunden. |
ERR_WRONG_STREAMTYPE | -10112: Ein empfangener Stream hat nicht das erwartete Format. |
ERR_FREE_1 | -10113: |
ERR_FREE_2 | -10114: |
ERR_NO_TRANSMITTER | -10115: Der Client hat keinen Transmitter. |
ERR_NO_RECEIVER | -10116: Der Server hat keinen ServerReceiver. |
ERR_FREE_3 | -10117: |
ERR_TO_MUCH_CLIENTS | -10118: Die maximale Anzahl von Verbindungen wurde überschritten. |
ERR_NO_CORRECT_STREAM_DATA | -10119: Ein empfangener Stream hat unkorrekte Daten. |
ERR_NO_SERVER_MSG | -10120: Als Parameter übergebene Nachricht ist keine Server-Nachricht. |
ERR_TIME_OUT | -10121: Die Wartezeit auf eine Antwort ist abgelaufen (Zeitüberschreitung). |
ERR_METHOD_FORBIDDEN | -10122: Der Methodenaufruf ist verboten. |
ERR_GETPEERNAME_FAILED | -10123: Die Abfrage nach dem Peername schlug fehl. |
ERR_UNKNOWN | -10200: Unbekannter Fehler. |
const std::string tcp::sTcpVersion = "1.0.3" |
Die Version, wenn neu, wird hier geändert.
Die Dateibezeichnungen der DLL- bzw. der LIB-Datei setzt sich aus der Projektbezeichnung + der Compilerkennung + der Version der Bibliothek zusammmen.
Z.B. für das Visual Studio 2015 = "$(ProjectName)$(PlatformToolset)101" als Zielname; wird die Bezeichnung, wenn das Kompilierziel "TCP", zu "TCPv140101.dll" und "TCPv140101.lib"