diff options
author | Tobias Frust <tobiasfrust@gmail.com> | 2016-07-11 15:15:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-11 15:15:32 +0200 |
commit | 8af3d595e2856f81a46a91d67e96f53cb3b25d0f (patch) | |
tree | bd2cb6e80b0db90713f9d24de09577125d6f3d85 /src/UDPServer/UDPServer.h | |
parent | 13783f932576a285b08cf518a6b0d679aac3c897 (diff) | |
parent | 409e2fd20af5620066796e43410a92521376b2c1 (diff) | |
download | ods-8af3d595e2856f81a46a91d67e96f53cb3b25d0f.tar.gz ods-8af3d595e2856f81a46a91d67e96f53cb3b25d0f.tar.bz2 ods-8af3d595e2856f81a46a91d67e96f53cb3b25d0f.tar.xz ods-8af3d595e2856f81a46a91d67e96f53cb3b25d0f.zip |
Merge pull request #1 from tobiasfrust/master
Implemented DetectorSimulator with basic functionalities
Diffstat (limited to 'src/UDPServer/UDPServer.h')
-rw-r--r-- | src/UDPServer/UDPServer.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/UDPServer/UDPServer.h b/src/UDPServer/UDPServer.h new file mode 100644 index 0000000..22f33b3 --- /dev/null +++ b/src/UDPServer/UDPServer.h @@ -0,0 +1,45 @@ +/* + * 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 <sys/types.h> +#include <sys/socket.h> +#include <netdb.h> +#include <stdexcept> +#include <cstring> + +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 +{ +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_ */ |