123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- #ifndef __ICLIENT_IMPL_HEADER__
- #define __ICLIENT_IMPL_HEADER__
- #pragma once
- #include <afxwin.h>
- #include <atlbase.h>
- #include "Client2SrvType.h"
- #include "CritSection.h"
- #include "SocketHandle.h"
- #include "SocketClientImpl.h"
- class CClientProcess : public ISocketClientHandler
- {
- typedef SocketClientImpl<ISocketClientHandler> CSocketClient;
- friend CSocketClient;
- public:
- CClientProcess();
- virtual ~CClientProcess();
-
- void StartReConnectSrvThread();
- static DWORD WINAPI ReConnectSrvThread(LPVOID pInstance);
- protected:
- 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:
- int m_nMode;
- int m_nSockType;
-
- TCHAR m_SvrAddr[MAX_PATH];
-
- TCHAR m_SvrPort[MAX_PATH];
-
- HANDLE m_hReConnectSrvThreadHandle;
-
- HANDLE m_hRunObject;
- void _cdecl AppendText(LPCTSTR lpszFormat, ...);
- void GetAddress(const SockAddrIn& addrIn, CString& rString) const;
- bool GetDestination(SockAddrIn& addrIn) const;
- bool SetupMCAST();
- public:
- BOOL m_bRecevie;
- BOOL m_bStopbeat;
- BOOL m_bSocket;
- CSocketClient m_SocketClient;
- BOOL Initialize();
- BOOL ConnectServer(LPCTSTR strAddr, LPCTSTR strPort);
- void net_CloseSocket();
- void SendMsg(void *pMsg,const int nLen);
- INT Send(IN TheProbody& tpbody, IN const int& nTimeout);
- BOOL SolveError();
- public:
-
- BOOL LoginRemoteSvrRequest();
- BOOL LoginLocalSvrRequest();
-
- void LoginRemoteSvrResponse(void *pLoginResult);
- void LoginLocalSvrResponse(void *pLoginResult);
-
- BOOL ChatRemoteSvrMessageRequest(void *szDataBuf, int nDataLen);
- BOOL ChatLocalSvrMessageRequest(void *szDataBuf, int nDataLen);
-
- void ChatRemoteSvrMessageResponse(void *pResponse);
- void ChatLocalSvrMessageResponse(void *pResponse);
- public:
- DWORD m_dwCurRecive;
- DWORD m_dwSumRecive;
- BYTE *m_pPendingbuf;
- DWORD m_dwPendingSize;
- BYTE m_byPendingbuf[2];
- };
- #endif
|