You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
797 B
C++

#ifndef _SERVER
#define _SERVER
#include "includes/sock.hpp"
#include "includes/exception_consts.hpp"
/*
Server class - Defines a TCP/UDP server.
- The constructor takes in a **local** address and port, and creates a listening socket on that address/port.
*/
class Server : public Sock {
private:
void create_socket() {
Sock::create_socket();
this->sock_fd = create_local(this->ip_ver, this->protocol, this->address.data(), this->port, dest);
if (sock_fd < 0) {
if (sock_fd * -1 == ECONNREFUSED) {
throw EXCEPT_CONNREFUSED;
}
}
}
public:
Server() {}
Server(int ip_ver, char protocol, const char* address, int port) : Sock(ip_ver, protocol, address, port) {}
/* TODO - Add comments to better explain the inheritance and polymorphism going on */
};
#endif