ServerTcpStatu.h 645 B

12345678910111213141516171819202122232425262728293031
  1. //
  2. // Created by zx on 22-12-22.
  3. //
  4. #ifndef SOCKETIO__SERVERTCPSTATU_H_
  5. #define SOCKETIO__SERVERTCPSTATU_H_
  6. #include "TCPServer.h"
  7. typedef void (*RecvCallback)(std::string,int,std::string);
  8. class ServerTcpStatu :public TCPServer
  9. {
  10. public:
  11. ServerTcpStatu();
  12. bool Bind(int port);
  13. void SetRecvCallback(RecvCallback callback);
  14. void Publish(std::string data);
  15. protected:
  16. void accept();
  17. void recv();
  18. protected:
  19. bool exit_=false;
  20. std::thread* thread_accept= nullptr;
  21. std::thread* thread_recv= nullptr;
  22. RecvCallback recv_callback_= nullptr;
  23. std::mutex mutex_;
  24. };
  25. #endif //SOCKETIO__SERVERTCPSTATU_H_