/* * ===================================================================================== * * Filename: tcp_server.h * * Description: * * Version: 1.0 * Created: 2021年05月19日 15时06分01秒 * Revision: none * Compiler: gcc * * Author: Li Chao (), lichao@aiotlink.com * Organization: * * ===================================================================================== */ #ifndef TCP_SERVER_795VXR94 #define TCP_SERVER_795VXR94 #include "bh_util.h" #include "io_service.h" #include "tcp_common.h" class NodeCenter; class TcpServer { public: typedef IoService::io_service_t io_service_t; typedef std::shared_ptr> CenterPtr; TcpServer(io_service_t &io, int port, CenterPtr pscenter) : io_(io), listener_(io_, tcp::endpoint(tcp::v6(), port)), pscenter_(pscenter) { Accept(); } ~TcpServer() { listener_.close(); } private: io_service_t &io_; void Accept(); tcp::acceptor listener_; CenterPtr pscenter_; }; #endif // end of include guard: TCP_SERVER_795VXR94