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/UDPClient/UDPClient.h | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) (limited to 'src/UDPClient/UDPClient.h') diff --git a/src/UDPClient/UDPClient.h b/src/UDPClient/UDPClient.h index a962fe9..f6cf0d6 100644 --- a/src/UDPClient/UDPClient.h +++ b/src/UDPClient/UDPClient.h @@ -1,5 +1,5 @@ /* - * Copyright 2016 Tobias Frust + * http://linux.m2osw.com/c-implementation-udp-clientserver * * UDPSender.h * @@ -7,9 +7,38 @@ * Author: Tobias Frust */ -#ifndef UDPSENDER_H_ -#define UDPSENDER_H_ +#ifndef UDPCLIENT_H_ +#define UDPCLIENT_H_ +#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) {} +}; -#endif /* UDPSENDER_H_ */ + +class UDPClient { +public: + UDPClient(const std::string& addr, int port); + ~UDPClient(); + + int get_socket() const; + int get_port() const; + std::string get_addr() const; + + int send(const char *msg, size_t size); + +private: + int f_socket; + int f_port; + std::string f_addr; + struct addrinfo * f_addrinfo; +}; + +#endif /* UDPCLIENT_H_ */ -- cgit v1.2.3