From 38b0d8ad024d11fa643934b0c56690b0e57c3e35 Mon Sep 17 00:00:00 2001 From: Tobias Frust Date: Wed, 29 Jun 2016 19:16:11 +0200 Subject: added UDP-Client and Server classes for data transfer via Ethernet --- src/UDPServer/UDPServer.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/UDPServer/UDPServer.h (limited to 'src/UDPServer/UDPServer.h') diff --git a/src/UDPServer/UDPServer.h b/src/UDPServer/UDPServer.h new file mode 100644 index 0000000..7eef796 --- /dev/null +++ b/src/UDPServer/UDPServer.h @@ -0,0 +1,39 @@ +/* + * http://linux.m2osw.com/c-implementation-udp-clientserver + * + * UDPServer.h + * + * Created on: 29.06.2016 + * Author: Tobias Frust + */ + +#ifndef UDPSERVER_H_ +#define UDPSERVER_H_ + +#include +#include +#include +#include +#include + +class UDPServer +{ +public: + UDPServer(const std::string& addr, int port); + ~UDPServer(); + + int get_socket() const; + int get_port() const; + std::string get_addr() const; + + int recv(char *msg, size_t max_size); + int timed_recv(char *msg, size_t max_size, int max_wait_ms); + +private: + int f_socket; + int f_port; + std::string f_addr; + struct addrinfo * f_addrinfo; +}; + +#endif /* UDPSERVER_H_ */ -- cgit v1.2.3 From 1dc95b4eed7974549ef43a87e0777aa343b30fd4 Mon Sep 17 00:00:00 2001 From: Tobias Frust Date: Wed, 29 Jun 2016 21:44:58 +0200 Subject: added client and server executable for testing simple udp packet transfer --- src/UDPServer/UDPServer.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/UDPServer/UDPServer.h') diff --git a/src/UDPServer/UDPServer.h b/src/UDPServer/UDPServer.h index 7eef796..22f33b3 100644 --- a/src/UDPServer/UDPServer.h +++ b/src/UDPServer/UDPServer.h @@ -14,7 +14,13 @@ #include #include #include -#include +#include + +class udp_client_server_runtime_error : public std::runtime_error +{ +public: + udp_client_server_runtime_error(const char *w) : std::runtime_error(w) {} +}; class UDPServer { -- cgit v1.2.3