#include #include "server/GameServer.h" #include "server/network/Server.h" void GameServer::stop() { isRunning = false; } void GameServer::start(uint16_t port, uint16_t maxClients) { std::cout << port << std::endl; Server server(port, maxClients, *this); if(!server.isRunning()) { return; } isRunning = true; while(isRunning) { std::cout << "> "; std::string command; getline(std::cin, command, '\n'); if(command == "q") { break; } commandManager.execute(*this, *this, command); } } void GameServer::onFullServerClientConnect(int socket) const { Stream answer; answer.write("Sorry, the server is full"); answer.sendToSocket(socket); } void GameServer::onClientConnect(int socket) const { std::cout << socket << " has connected" << std::endl; Stream answer; answer.write("Welcome to the server."); answer.sendToSocket(socket); } void GameServer::onClientPackage(int socket, Stream& in) const { std::string s = ""; while(in.hasData()) { char c; in.read(&c, 1); s = c + s; } Stream answer; answer.write(s.data(), s.length()); answer.sendToSocket(socket); } void GameServer::onClientDisconnect(int socket) const { std::cout << socket << " has disconnected" << std::endl; Stream answer; answer.write("Bye."); answer.sendToSocket(socket); } bool GameServer::isServer() const { return true; }