GameServer.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #include <iostream>
  2. #include "server/GameServer.h"
  3. #include "server/network/Server.h"
  4. void GameServer::start(uint16_t port, uint16_t maxClients)
  5. {
  6. std::cout << port << std::endl;
  7. Server server(port, maxClients, *this);
  8. if(!server.isRunning())
  9. {
  10. return;
  11. }
  12. while(serverCommands.isRunning())
  13. {
  14. std::cout << "> ";
  15. std::string command;
  16. std::getline(std::cin, command, '\n');
  17. commandManager.execute(serverCommands, command);
  18. }
  19. }
  20. void GameServer::onFullServerClientConnect(int socket) const
  21. {
  22. Stream answer;
  23. answer.write("Sorry, the server is full");
  24. answer.sendToSocket(socket);
  25. }
  26. void GameServer::onClientConnect(int socket) const
  27. {
  28. std::cout << socket << " has connected" << std::endl;
  29. Stream answer;
  30. answer.write("Welcome to the server.");
  31. answer.sendToSocket(socket);
  32. }
  33. void GameServer::onClientPackage(int socket, Stream& in) const
  34. {
  35. std::string s = "";
  36. while(in.hasData())
  37. {
  38. char c;
  39. in.read(&c, 1);
  40. s = c + s;
  41. }
  42. Stream answer;
  43. answer.write(s.data(), s.length());
  44. answer.sendToSocket(socket);
  45. }
  46. void GameServer::onClientDisconnect(int socket) const
  47. {
  48. std::cout << socket << " has disconnected" << std::endl;
  49. Stream answer;
  50. answer.write("Bye.");
  51. answer.sendToSocket(socket);
  52. }