GlobalObjects
Lade ...
Suche ...
Keine Treffer
tcp-Namensbereichsreferenz

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 ...
 

Aufzählungen

enum  ActionCode {
  ACTION_UNDEF = 0 , ACTION_SYNC_DATA_SIZE = 1 , ACTION_REQUEST = 2 , ACTION_REQUEST_WITH_RESPONSE = 3 ,
  ACTION_RESPONSE = 4 , ACTION_INFO = 5
}
 
enum  ERRORS {
  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 , ERR_SOCKET_ALREADY_EXISTING = -10102 ,
  ERR_SOCKET_NOT_EXISTING = -10103 , ERR_NO_HOSTNAME = -10104 , ERR_UNKNOWN_HOSTNAME = -10105 , ERR_NO_PORT = -10106 ,
  ERR_ALLREADY_CONNECTED = -10107 , ERR_CONNECTION_BROKEN = -10108 , ERR_NO_DATASIZE = -10109 , ERR_MAX_CLIENTS_TO_LOW = -10110 ,
  ERR_NO_SOCKETINDEX = -10111 , ERR_WRONG_STREAMTYPE = -10112 , ERR_FREE_1 = -10113 , ERR_FREE_2 = -10114 ,
  ERR_NO_TRANSMITTER = -10115 , ERR_NO_RECEIVER = -10116 , ERR_FREE_3 = -10117 , ERR_TO_MUCH_CLIENTS = -10118 ,
  ERR_NO_CORRECT_STREAM_DATA = -10119 , ERR_NO_SERVER_MSG = -10120 , ERR_TIME_OUT = -10121 , ERR_METHOD_FORBIDDEN = -10122 ,
  ERR_GETPEERNAME_FAILED = -10123 , ERR_UNKNOWN = -10200
}
 Fehlerbereich = -10001 bis -10200 Mehr ...
 

Variablen

const std::string sTcpVersion = "1.0.3"
 

Dokumentation der Aufzählungstypen

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

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

Variablen-Dokumentation

◆ sTcpVersion

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"