GameServer.cpp 1.4 KB

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