tcp2tcp.h 808 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include <string>
  3. #include "base/define.h"
  4. #include "base/buffer.h"
  5. #include "base/error.h"
  6. #include "util/map.hpp"
  7. namespace ylib
  8. {
  9. namespace network
  10. {
  11. namespace tcp
  12. {
  13. class agent;
  14. class server;
  15. class tcp2tcp :public ylib::error_base
  16. {
  17. public:
  18. tcp2tcp();
  19. ~tcp2tcp();
  20. bool start(const std::string& listen_address, ushort listen_port, bool agent_async_connect = false/*是否异步*/, ylib::receive_model agent_model = PUSH_DEFAULT, ylib::receive_model server_model = PUSH_DEFAULT);
  21. void stop();
  22. network::tcp::server* server() { return m_server; }
  23. network::tcp::agent* agent() { return m_agent; }
  24. private:
  25. // TCP服务
  26. network::tcp::server* m_server = nullptr;
  27. // TCP代理
  28. network::tcp::agent* m_agent = nullptr;
  29. };
  30. }
  31. }
  32. }