GlobalObjects
Lade ...
Suche ...
Keine Treffer
TcpMessage.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_TCPMESSAGE_H
2#define INC_TCPMESSAGE_H
3//-----------------------------------------------------------------------------
37//-----------------------------------------------------------------------------
38#include "TcpTypes.h"
39#include <cstring>
40#if defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__)
41 #include <winsock.h>
42#elif defined(__GNUC__)
43 /*
44 #include <stdio.h>
45 #include <stdlib.h>
46 #include <unistd.h>
47 */
48 #include <string.h>
49
50 #include <errno.h>
51 #include <sys/types.h>
52 #include <sys/socket.h>
53 #include <netinet/in.h>
54 #include <netdb.h>
55 #include <arpa/inet.h>
56 #define SOCKET uintptr_t
57 #define SOCKADDR_IN sockaddr_in
58 #define SOCKADDR sockaddr
59 #define HOSTENT hostent
60 #define INVALID_SOCKET (SOCKET)(~0)
61 #define SOCKET_ERROR (-1)
62#endif
63//-----------------------------------------------------------------------------
64#ifdef _MSC_VER
65 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
66 #pragma warning( disable : 4251 )
67#endif
68//-----------------------------------------------------------------------------
69namespace tcp
70{
71 //---------------------------------------------------------------------------
72 // >>>>>>>>>>>>>>>>>>>>>>>>> AbstractMessage >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
73 //---------------------------------------------------------------------------
90 {
91 protected:
92 //============== Konstruktor
93 //-----------------------------------------------------------------------
104 //-----------------------------------------------------------------------
105
106 public:
107 //============== Destruktore
108 //-----------------------------------------------------------------------
119 //-----------------------------------------------------------------------
120 };
121 //---------------------------------------------------------------------------
122 // <<<<<<<<<<<<<<<<<<<<<<<<< AbstractMessage <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
123 //---------------------------------------------------------------------------
124
125 //---------------------------------------------------------------------------
126 // >>>>>>>>>>>>>>>>>>>>>>>>>>> Message >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
127 //---------------------------------------------------------------------------
161 {
162 private:
163 //============== Attribute
164 //-----------------------------------------------------------------------
174 unsigned int m_uiMessageID;
175 //-----------------------------------------------------------------------
196 //-----------------------------------------------------------------------
206 std::string m_strInfo;
207 //-----------------------------------------------------------------------
217 std::size_t m_nRawMessageSize;
218 //-----------------------------------------------------------------------
229 //-----------------------------------------------------------------------
240 //-----------------------------------------------------------------------
251 //-----------------------------------------------------------------------
252
253 protected:
254 //============== Konstruktoren
255 //-----------------------------------------------------------------------
266 //-----------------------------------------------------------------------
267
268 public:
269 //============== Konstruktoren
270 //-----------------------------------------------------------------------
315 Message( char * pszTransmitData, std::size_t nTransmitDataSize );
316 //-----------------------------------------------------------------------
346 Message( char * pszRawMsg,
347 std::size_t nRawMsgSize,
348 unsigned int uiMessageID,
349 int iActionCode,
350 const std::string & rstrInfo );
351 //-----------------------------------------------------------------------
361 virtual ~Message();
362 //-----------------------------------------------------------------------
363
364 private:
365 //============== Copy-Konstruktor
366 //-----------------------------------------------------------------------
376 Message( const Message & );
377 //-----------------------------------------------------------------------
378
379 //+ ============ Methoden
380 //-----------------------------------------------------------------------
396 //-----------------------------------------------------------------------
412 //-----------------------------------------------------------------------
413
414 public:
415 //============== Methoden
416 //-----------------------------------------------------------------------
426 char * getRawMsgPt();
427 //-----------------------------------------------------------------------
437 std::size_t getRawMsgSize() const;
438 //-----------------------------------------------------------------------
449 //-----------------------------------------------------------------------
459 std::size_t getTransmitDataSize() const;
460 //-----------------------------------------------------------------------
470 unsigned int getMsgID() const;
471 //-----------------------------------------------------------------------
483 int getActionCode() const;
484 //-----------------------------------------------------------------------
494 std::string getInfo() const;
495 //-----------------------------------------------------------------------
517 std::size_t getRawMsg( char *& prszRawMsg, bool bCopy = true );
518 //-----------------------------------------------------------------------
539 std::size_t getTransmitData( char *& prszSendMsg, bool bCopy = true );
540 //-----------------------------------------------------------------------
541
542 private:
543 //============== Operatoren
544 //-----------------------------------------------------------------------
554 Message & operator= ( const Message & );
555 //-----------------------------------------------------------------------
556 };
557 //---------------------------------------------------------------------------
558 // <<<<<<<<<<<<<<<<<<<<<<<<<<< Message <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
559 //---------------------------------------------------------------------------
560
561 //---------------------------------------------------------------------------
562 // >>>>>>>>>>>>>>>>>>>>>>>>> ServerAcceptMessage >>>>>>>>>>>>>>>>>>>>>>>>>>>>
563 //---------------------------------------------------------------------------
580 {
581 private:
582 //============== Attribute
583 //-----------------------------------------------------------------------
594 //-----------------------------------------------------------------------
595
596 protected:
597 //============== Konstruktoren
598 //-----------------------------------------------------------------------
609 //-----------------------------------------------------------------------
610
611 public:
612 //============== Konstruktoren
613 //-----------------------------------------------------------------------
625 ServerAcceptMessage( SOCKET NewSocket );
626 //-----------------------------------------------------------------------
637 //-----------------------------------------------------------------------
638
639 private:
640 //============== Copy-Konstruktor
641 //-----------------------------------------------------------------------
652 //-----------------------------------------------------------------------
653
654 public:
655 //============== Methoden
656 //-----------------------------------------------------------------------
666 SOCKET getSocket();
667 //-----------------------------------------------------------------------
678 //-----------------------------------------------------------------------
679
680 private:
681 //============== Operatoren
682 //-----------------------------------------------------------------------
693 //-----------------------------------------------------------------------
694 };
695 //---------------------------------------------------------------------------
696 // <<<<<<<<<<<<<<<<<<<<<<<<< ServerAcceptMessage <<<<<<<<<<<<<<<<<<<<<<<<<<<<
697 //---------------------------------------------------------------------------
698
699 //---------------------------------------------------------------------------
700 // >>>>>>>>>>>>>>>>>>>>>>>>>>> ServerMessage >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
701 //---------------------------------------------------------------------------
718 {
719 protected:
720 //============== Konstruktoren
721 //-----------------------------------------------------------------------
732 //-----------------------------------------------------------------------
742 ServerMessage( char *, std::size_t );
743 //-----------------------------------------------------------------------
744
745 public:
746 //============== Konstruktoren
747 //-----------------------------------------------------------------------
792 ServerMessage( SOCKET ClientSocket,
793 char * pszTransmitData,
794 std::size_t nTransmitDataSize );
795 //-----------------------------------------------------------------------
824 ServerMessage( SOCKET ClientSocket,
825 char * pszRawMsg,
826 std::size_t nRawMsgSize,
827 unsigned int uiMessageID,
828 int iActionCode,
829 const std::string & rstrInfo);
830 //-----------------------------------------------------------------------
840 virtual ~ServerMessage();
841 //-----------------------------------------------------------------------
842 private:
843 //============== Copy-Konstruktor
844 //-----------------------------------------------------------------------
855
856 //============== Operatoren
857 //-----------------------------------------------------------------------
867 ServerMessage & operator= ( const ServerMessage & );
868 //-----------------------------------------------------------------------
869 };
870 //---------------------------------------------------------------------------
871 // <<<<<<<<<<<<<<<<<<<<<<<<<< ServerMessage <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
872 //---------------------------------------------------------------------------
873 #ifdef _MSC_VER
874 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
875 #pragma warning( default : 4251 )
876 #endif
877 //---------------------------------------------------------------------------
878} // namespace tcp
879//-----------------------------------------------------------------------------
880#endif
Für jede Bibliothek, hier 'TcpLib' gibt es eine Typen-Datei.
#define __tcp_export_dll
Definition TcpTypes.h:53
Basisklasse für Nachrichten, welche von den Tcp-Klassen verschickt, empfangen und bearbeitet werden k...
Definition TcpMessage.h:90
virtual ~AbstractMessage()
Beinhaltet einen Datenstrom, welcher von den Tcp-Klassen versendet und empfangen werden kann.
Definition TcpMessage.h:161
std::size_t getRawMsg(char *&prszRawMsg, bool bCopy=true)
int m_iActionCode
Definition TcpMessage.h:195
int getActionCode() const
std::size_t getRawMsgSize() const
Message(char *pszTransmitData, std::size_t nTransmitDataSize)
virtual ~Message()
int initSendMsgFromData()
std::size_t m_nTransmitDataSize
Definition TcpMessage.h:239
unsigned int m_uiMessageID
Definition TcpMessage.h:174
char * getRawMsgPt()
Message(const Message &)
char * m_pszRawMessage
Definition TcpMessage.h:228
Message(char *pszRawMsg, std::size_t nRawMsgSize, unsigned int uiMessageID, int iActionCode, const std::string &rstrInfo)
unsigned int getMsgID() const
char * getTransmitDataPt()
int initDataFromSendMsg()
std::string getInfo() const
std::size_t getTransmitData(char *&prszSendMsg, bool bCopy=true)
char * m_pszTransmitData
Definition TcpMessage.h:250
std::string m_strInfo
Definition TcpMessage.h:206
std::size_t m_nRawMessageSize
Definition TcpMessage.h:217
std::size_t getTransmitDataSize() const
Ein spezielle Tcp-Message, damit kann der ServerAcceptReceiver einen neuen Client anmelden.
Definition TcpMessage.h:580
ServerAcceptMessage(const ServerAcceptMessage &)
ServerAcceptMessage(SOCKET NewSocket)
SOCKET m_ClientSocket
Definition TcpMessage.h:593
Ist eine spezielle Tcp-Message für den Server. Damit dieser weiß, an wen er die Daten senden soll,...
Definition TcpMessage.h:718
virtual ~ServerMessage()
ServerMessage(const ServerMessage &)
ServerMessage(SOCKET ClientSocket, char *pszRawMsg, std::size_t nRawMsgSize, unsigned int uiMessageID, int iActionCode, const std::string &rstrInfo)
ServerMessage(char *, std::size_t)
ServerMessage(SOCKET ClientSocket, char *pszTransmitData, std::size_t nTransmitDataSize)
Definition TcpClient.h:48