GameServer.cpp 1.5 KB

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