GameClient.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /********************************************************************
  2. created: 2003/02/18
  3. file base: GameClient
  4. file ext: h
  5. author: liupeng
  6. purpose:
  7. *********************************************************************/
  8. #ifndef __INCLUDE_GAMECLIENT_H__
  9. #define __INCLUDE_GAMECLIENT_H__
  10. #if defined (_MSC_VER) && (_MSC_VER >= 1020)
  11. #pragma once
  12. #endif
  13. //[ Include in ...ESClient
  14. #include "ESClientSocketClient.h"
  15. #include "ESClienttstring.h"
  16. //]
  17. class CGameClient : public OnlineGameLib::Win32::CSocketClient
  18. {
  19. public:
  20. CGameClient(
  21. const OnlineGameLib::Win32::_tstring &addressToConnectServer,
  22. unsigned short portToConnectServer,
  23. size_t maxFreeBuffers,
  24. size_t bufferSize = 1024
  25. );
  26. CGameClient(
  27. size_t maxFreeBuffers,
  28. size_t bufferSize = 1024
  29. );
  30. virtual ~CGameClient();
  31. const BYTE* m_pRecvBuf;
  32. DWORD m_dwRecvSize;
  33. HANDLE m_hHasRecvdata;
  34. private:
  35. virtual SOCKET CreateConnectionSocket( 
  36. const OnlineGameLib::Win32::_tstring &addressToConnectServer,
  37. unsigned short port);
  38. virtual void OnStartConnections();
  39. virtual void OnStopConnections();
  40. virtual void OnShutdownInitiated();
  41. virtual void OnShutdownComplete();
  42. virtual void OnConnect();
  43. virtual void OnClose();
  44. virtual void ReadCompleted( OnlineGameLib::Win32::CIOBuffer *pBuffer );
  45. virtual void OnError( const OnlineGameLib::Win32::_tstring &message );
  46. size_t GetMinimumMessageSize() const;
  47. size_t GetMessageSize( const OnlineGameLib::Win32::CIOBuffer *pBuffer ) const;
  48. OnlineGameLib::Win32::CIOBuffer *ProcessDataStream(
  49. OnlineGameLib::Win32::CIOBuffer *pBuffer);
  50. void ProcessCommand( const OnlineGameLib::Win32::CIOBuffer *pBuffer);
  51. virtual void PreWrite( 
  52. OnlineGameLib::Win32::CIOBuffer *pBuffer, 
  53. const char *pData, 
  54. size_t dataLength );
  55. // No copies do not implement
  56. CGameClient( const CGameClient &rhs );
  57. CGameClient &operator=( const CGameClient &rhs );
  58. };
  59. #endif //__INCLUDE_GAMECLIENT_H__