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.

31 lines
700 B
C++

#ifndef _CLIENT_H
#define _CLIENT_H
#include "includes/sock.hpp"
#include "includes/exception_consts.hpp"
/*
Client class - Inherits from 'Sock' class - Defines a TCP/UDP client. The only method that is overriden is the 'create_socket' method.
*/
class Client : public Sock {
private:
void create_socket() {
Sock::create_socket();
this->sock_fd = create_remote(this->ip_ver, this->protocol, this->address.data(), this->port, dest);
if (sock_fd < 0) {
if (sock_fd * -1 == ECONNREFUSED) {
throw EXCEPT_CONNREFUSED;
}
}
}
public:
Client() {}
Client(int ip_ver, char protocol, const char* address, int port) : Sock(ip_ver, protocol, address, port) {}
};
#endif