| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #pragma once
- #include "TCPClientSocket.h"
- #include <list>
- #include <map>
- struct per_user_data;
- class CSendTask;
- class CSuperTCPClient : public CTCPClientSocket
- {
- public:
- CSuperTCPClient();
- ~CSuperTCPClient();
- virtual void Close() override;
- //ÖØ·¢, Óе¥¶ÀÏ̵߳÷ÓÃ
- BOOL ReSend();
- void Insert(LPBYTE pPack, int nPackLen, uint32_t packno, E_ZL_PROTOCAL protocal, bool);
- inline void SetFather(per_user_data* a)
- {
- m_pFather = a;
- }
- protected:
- BOOL RecvPack(uint32_t packno, E_ZL_PROTOCAL protocal);
- std::map<time_t, uint64_t> m_mapSendCout;
- protected:
- BOOL HandleSubNotify(LPHJDATAHEAD2 lpHead, char* json, int json_len);
- protected:
- virtual void ProcessPack(LPBYTE pPack, int nLen) override;
- virtual void OnConnect(int nErrorCode) override;
- virtual void OnClose(int nErrorCode) override;
- private:
- per_user_data* m_pFather = nullptr;
- std::list<CSendTask*> m_task;
- std::mutex m_mtx;
- };
|