1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #pragma once
- #include <afxwin.h>
- #include <atlbase.h>
- #include "SocketHandle.h"
- #include "SocketClientImpl.h"
- #include "head.h"
- class CClientSocket:public ISocketClientHandler
- {
- typedef SocketClientImpl<ISocketClientHandler> CSocketClient;
- friend CSocketClient;
- protected:
- // SocketClient Interface handler
- virtual void OnThreadBegin(CSocketHandle* pSH);
- virtual void OnThreadExit(CSocketHandle* pSH);
- virtual void OnDataReceived(CSocketHandle* pSH, const BYTE* pbData, DWORD dwCount, const SockAddrIn& addr);
- virtual void OnConnectionDropped(CSocketHandle* pSH);
- virtual void OnConnectionError(CSocketHandle* pSH, DWORD dwError);
- protected:
- HANDLE m_hSemNet;
- CRITICAL_SECTION m_csReadFinished;
- //CRITICAL_SECTION m_csWrFinished;
- private:
- bool GetDestination(SockAddrIn& addrIn) const;
- int ReadDataRes(char *pTmpData);
- int WriteDataRes(char *pData);
- int ReadDataResError(char *pData);
- int WriteDataResError(char *pData);
- public:
- int ClientSend(char* pMsg, int iLen);
- BOOL Connection(LPCTSTR strAddr, LPCTSTR strPort);
- void DisConnection(void);
- bool SetupMCAST();
- void GetAddress(const SockAddrIn& addrIn, CString& rString) const;
- void ProcessData(CSocketHandle *pSH, const BYTE* pData, DWORD nLen);
- int OnCmdProcess(void *pData, int iDataLen);
- public:
- int WorkMain(REQUESTPARAM SetBasePara, int iVarID);
- int RequestStatus(REQUESTPARAM SetBasePara, int iVarID);
- public:
- CClientSocket(void);
- ~CClientSocket(void);
- public:
- int m_nSockType; //UDP »ò TCP
- int m_nMode; //IP4 »ò IP6
- BOOL m_bSocket;
- CSocketClient m_SocketClient;
- public:
- RESPONSE_STRUCT m_structResponse;
- REQUESTWRPARAM m_RequestWrParam;
- };
|