Simple TCP socket library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
socket/lib/tcp_socket.hpp

70 lines
1.2 KiB

1 year ago
#ifndef TCP_SCK
#define TCP_SCK
#include <iostream>
#include <string>
#include <string.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <unistd.h>
#include <openssl/ssl.h>
#include <openssl/err.h>
1 year ago
#include "ip.hpp"
using namespace std;
class server {
public:
int sock;
struct sockaddr_in addr;
server (const ushort port, const uint limit = 1000);
~server ();
};
class secure {
public:
SSL_CTX* fds;
secure(); // client
secure(const string cert, const string priv); //server
~secure();
};
1 year ago
class client {
public:
int sock;
struct sockaddr_in addr;
SSL* ssl = NULL;
1 year ago
client (const string address, const ushort port, const uint timeout = 500, SSL_CTX* securefds = NULL);
1 year ago
~client ();
bool tell (const string msg);
string obey (size_t byte_limit = 1024);
};
class comming {
public:
const server *srv;
struct sockaddr_in addr;
1 year ago
int conn;
string ipv4;
string ipv6;
SSL* ssl = NULL;
1 year ago
comming(const server *_srv, const uint timeout = 100, SSL_CTX* securefds = NULL);
1 year ago
~comming();
bool tell (const string msg);
string obey (size_t byte_limit = 1024);
1 year ago
};
#endif