Добавил:
farel
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#pragma once
#include "includes.h"
#include "client.h"
#include "message.h"
#define IP_LENGTH 16
#define MAX_NUM_CLIENTS 8
#define BUFFER_SIZE 512000
// Типы сообщений
#define MAX_SENDER_LENGTH 32
#define MAX_INFO_LENGTH 128
#define MAX_MESSAGE_LENGTH 256
class server {
private:
const char *divider = "#ln";
uint16_t port;
SOCKET Socket;
SOCKADDR_IN Info;
int sizeInfo;
client *firstClient;
client *lastClient;
short numClients;
std::vector<std::thread> threadClient;
// Methods
bool acceptClient();
void rejectClient(client *);
int SendClientMessage(client *, message);
void waitingClients();
void handleClient(client *);
message handleMessage(std::string);
int onClientCommandText(client *, message);
bool validCommand(std::string);
public:
server(unsigned short);
~server();
int start();
void close();
};