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

模拟服务器

开发平台:

C/C++

  1. //-----------------------------------------//
  2. //                                         //
  3. //  File : S3PDBSocketServer.h    //
  4. // Author : Yang Xiaodong            //
  5. // Modified : 8/26/2002                //
  6. //                                         //
  7. //-----------------------------------------//
  8. #ifndef _S3PDBSOCKETSERVER_H_
  9. #define _S3PDBSOCKETSERVER_H_
  10. #include "KStdAfx.h"
  11. #include "S3PDBSocketPool.h"
  12. typedef struct tag_DBSOCKETSERVERPARAM
  13. {
  14. SOCKET serverSocket;
  15. int* piRunSignal;
  16. S3PDBSocketPool* pSocketPool;
  17. }_DBSOCKETSERVERPARAM, *_LPDBSOCKETSERVERPARAM;
  18. class S3PDBSocketServer  
  19. {
  20. public:
  21. static SOCKET CreateSocket( int iPort );
  22. static BOOL SendUDP( SOCKET s,
  23. DWORD dwTargetIP,
  24. int iTargetPort,
  25. IBYTE buf[def_UDPSIZE],
  26. DWORD dwSize );
  27. public:
  28. S3PDBSocketServer( SOCKET s, S3PDBSocketPool* pPool = NULL );
  29. S3PDBSocketServer( int iPort, S3PDBSocketPool* pPool = NULL );
  30. virtual ~S3PDBSocketServer();
  31. virtual HANDLE Start();
  32. virtual BOOL Stop();
  33. protected:
  34. virtual void CreateEnablePoolEvent();
  35. virtual BOOL ReleaseSocket();
  36. virtual BOOL CreateSocket();
  37. int* m_piRunSignal;
  38. int m_iPort;
  39. SOCKET m_Socket;
  40. HANDLE m_hServer;
  41. DWORD m_dwServerThreadId;
  42. S3PDBSocketPool* m_pSocketPool;
  43. _DBSOCKETSERVERPARAM m_ServerParam;
  44. HANDLE m_hEnablePool;
  45. };
  46. #endif // _S3PDBSOCKETSERVER_H_