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++
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
|