Klient.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #ifndef Klient_H
  2. #define Klient_H
  3. #include "Network.h"
  4. namespace Framework
  5. {
  6. namespace Encryption
  7. {
  8. class Key;
  9. }
  10. }
  11. using namespace Framework;
  12. namespace Network
  13. {
  14. class Klient; // aus dieser Datei
  15. class Klient
  16. {
  17. private:
  18. SOCKET sock;
  19. sockaddr_in server;
  20. Encryption::Key *sendeKey;
  21. Encryption::Key *empfangKey;
  22. int downStreamBytes;
  23. int upStreamBytes;
  24. int ref;
  25. public:
  26. // Konstruktor
  27. __declspec( dllexport ) Klient();
  28. // Destruktor
  29. __declspec( dllexport ) ~Klient();
  30. // nicht constant
  31. __declspec( dllexport ) void setSendeKeyZ( Encryption::Key *key ); // Setzt den Schlüssel fürs Senden
  32. __declspec( dllexport ) void setEmpfangKeyZ( Encryption::Key *key ); // Setzt den Schlüssel fürs Empfangen
  33. __declspec( dllexport ) void setSendeKey( char *key, int len ); // Setzt den Schlüssel fürs Senden
  34. __declspec( dllexport ) void setEmpfangKey( char *key, int len ); // Setzt den Schlüssel fürs Empfangen
  35. __declspec( dllexport ) bool verbinde( unsigned short port, const char *ip ); // verbindet mit Server
  36. __declspec( dllexport ) bool sende( const char *nachricht, int len ); // sendet zum Server
  37. __declspec( dllexport ) bool getNachricht( char *nachricht, int len ); // empfängt Nachricht
  38. __declspec( dllexport ) bool sendeEncrypted( const char *nachricht, int len ); // sendet zum Server
  39. __declspec( dllexport ) bool getNachrichtEncrypted( char *nachricht, int len ); // empfängt Nachricht
  40. __declspec( dllexport ) int getDownloadBytes( bool reset ); // gibt die anzahl von empfangen bytes zurück
  41. __declspec( dllexport ) int getUploadBytes( bool reset ); // gibt die anzahl von versendeter bytes zurück
  42. __declspec( dllexport ) bool trenne(); // Trennt die Verbindung zum Server
  43. // constant
  44. __declspec( dllexport ) bool hatNachricht( int zeit ); // Wartet eine Zeit Lang auf eine Nachricht
  45. __declspec( dllexport ) unsigned short getServerPort() const; // gibt den Port des Servers zurück
  46. __declspec( dllexport ) const char *getServerIp() const; // gibt die Ip des Servers zurück
  47. // Reference Counting
  48. __declspec( dllexport ) Klient *getThis();
  49. __declspec( dllexport ) Klient *release();
  50. };
  51. }
  52. #endif