TCPClient.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /*
  2. * @Description: TCPClient
  3. * @Version: 1.0
  4. * @Autor: lishengyin
  5. * @Date: 2021-09-13 17:30:20
  6. * @LastEditors: lishengyin
  7. * @LastEditTime: 2021-11-18 17:48:35
  8. */
  9. #pragma once
  10. #include <signal.h>
  11. #include <iostream>
  12. #include "Util/logger.h"
  13. #include "Network/TcpClient.h"
  14. #include "Util/NoticeCenter.h"
  15. #include "Notices.h"
  16. #include "md5.h"
  17. #include <time.h>
  18. #include <ctime>
  19. using namespace std;
  20. using namespace toolkit;
  21. // dataType
  22. #include "SendLogin.h"
  23. #include "NettyServerCommandEnum.h"
  24. #include "NettyServerResultMsg.h"
  25. #include "NettyClientResultMsg.h"
  26. #include "SendLogin.h"
  27. #include "NettyClientCommandEnum.h"
  28. #include "SendHeartBeat.h"
  29. #include "Util/logger.h"
  30. #include "Util/NoticeCenter.h"
  31. #include "Poller/EventPoller.h"
  32. #include "Player/PlayerProxy.h"
  33. #include "Rtmp/RtmpPusher.h"
  34. #include "Common/config.h"
  35. #include "Pusher/MediaPusher.h"
  36. #include "Extension/Frame.h"
  37. #include "Util/SqlPool.h"
  38. #include "Network/TcpClient.h"
  39. #include "Poller/Timer.h"
  40. namespace MIVA
  41. {
  42. class TCPClient: public TcpClient
  43. {
  44. public:
  45. std::string privateKey = "mwWAH2eUAAHodlRt";
  46. std::string Account = "nettyUser2";
  47. std::string pwd = "sunwin20211102";
  48. public:
  49. typedef std::shared_ptr<TCPClient> Ptr;
  50. TCPClient():TcpClient() {
  51. DebugL;
  52. }
  53. ~TCPClient(){
  54. DebugL;
  55. }
  56. protected:
  57. /**
  58. * @description: 连接成功时触发
  59. * @param {SockException} &ex 连接info
  60. * @return {*}
  61. * @author: lishengyin
  62. */
  63. virtual void onConnect(const SockException &ex) override;
  64. /**
  65. * @description: 接收数据时触发
  66. * @param {Ptr} &pBuf 接受到的数据
  67. * @return {*}
  68. * @author: lishengyin
  69. */
  70. virtual void onRecv(const Buffer::Ptr &pBuf) override;
  71. /**
  72. * @description: 发送阻塞时触发
  73. * @param {*}
  74. * @return {*}
  75. * @author: lishengyin
  76. */
  77. virtual void onFlush() override;
  78. /**
  79. * @description: EOF时触发
  80. * @param {SockException} &ex 错误信息
  81. * @return {*}
  82. * @author: lishengyin
  83. */
  84. virtual void onErr(const SockException &ex) override;
  85. /**
  86. * @description: 心跳 2S触发一次
  87. * @param {*}
  88. * @return {*}
  89. * @author: lishengyin
  90. */
  91. virtual void onManager() override;
  92. private:
  93. int _nTick = 0;
  94. std::string _IP;
  95. int32_t _port;
  96. };
  97. } // namespace VIA