forked from JanekOstendorf/THOMAS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUDPClient.h
75 lines (53 loc) · 1.18 KB
/
UDPClient.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#pragma once
/*
-- UDPClient:: HEADER --
UDP-Klasse
Enthält u.a. Funktionen zum erstellen von UDPClients
*/
// Enhält das Vector Element
#include <vector>
// Enhält IP Strukturen
#include <arpa/inet.h>
#define BYTE char
namespace THOMAS {
class UDPClient
{
private:
// Socket ID
int _socket;
// Port
int _port;
// IP des Clients
const char* _ip;
// Frame Größe in Prozent
int _frameSize = 50;
// Frame Qualität
int _frameQuality = 30;
// Klassen-Objekt
void *_cRDFParams;
// Serveradress-Struktur
struct sockaddr_in serverAddress;
// Status des UDP Servers
bool _running = false;
public:
// Konstruktor
UDPClient();
// Example Funktion
void CreateUDPClient(int port);
// An Server senden
void Send(std::vector<unsigned char> buff);
/* Getter und Setter */
// Setzt die Frame Größe
void SetFrameSize(int value);
// Setzt die Frame Qualität
void SetFrameQuality(int value);
// Setzt die IP
void SetIP(const char* ip);
// Gibt die Frame Größe zurück
int GetFrameSize();
// Gibt die Frame Qualität zurücl
int GetFrameQuality();
// Gibt zurück, ob der Server bereits läuft
bool GetServerRunning();
};
}