CClientSession.h 761 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #pragma once
  2. #include "../pch/pch.h"
  3. #include "PosMessage.h"
  4. using boost::asio::ip::tcp;
  5. class CServer;
  6. class CClientSession
  7. {
  8. public:
  9. CClientSession(boost::asio::io_context& io_context)
  10. : socket_(io_context)
  11. {
  12. }
  13. ~CClientSession();
  14. void SetServer(CServer* server);
  15. tcp::socket& socket()
  16. {
  17. return socket_;
  18. }
  19. void start();
  20. void stop();
  21. void send_message(std::string msg);
  22. void SetNum(int m_num)
  23. {
  24. m_nClientNum = m_num;
  25. }
  26. int GetNum()
  27. {
  28. return m_nClientNum;
  29. }
  30. private:
  31. void handle_read(const boost::system::error_code& error,
  32. size_t bytes_transferred);
  33. tcp::socket socket_;
  34. PosMessage m_pos_message;
  35. CServer* m_server;
  36. int m_nClientNum;
  37. std::string m_username = "";
  38. };