Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lab2 / server / server

.h
Скачиваний:
10
Добавлен:
01.02.2019
Размер:
970 б
Скачать
#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();
};

Соседние файлы в папке server