Server.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // Server.h: interface for the CServer class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_SERVER_H__581A45D4_DCC2_44D7_8B43_60412E769D39__INCLUDED_)
  5. #define AFX_SERVER_H__581A45D4_DCC2_44D7_8B43_60412E769D39__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "Winsock2.h"
  10. #include "Encryption.h"
  11. class MyEnums
  12. {
  13. public:
  14. enum eSendType{START, DATA, DATA_START, DATA_END, END, EXIT};
  15. };
  16. class CSendInfo
  17. {
  18. public:
  19. CSendInfo()
  20. {
  21. m_nSize = sizeof(CSendInfo);
  22. m_nVersion = 1;
  23. m_lParameter1 = -1;
  24. m_lParameter2 = -1;
  25. }
  26. int m_nSize;
  27. MyEnums::eSendType m_Type;
  28. int m_nVersion;
  29. char m_cIP[20];
  30. char m_cComputerName[MAX_COMPUTERNAME_LENGTH + 1];
  31. char m_cDesc[250];
  32. long m_lParameter1;
  33. long m_lParameter2;
  34. char m_cExtra[50];
  35. };
  36. class CRecieveSocket
  37. {
  38. public:
  39. CRecieveSocket(SOCKET sk);
  40. ~CRecieveSocket();
  41. LPVOID ReceiveEncryptedData(long lInSize, long &lOutSize);
  42. BOOL RecieveExactSize(char *pData, long lSize);
  43. BOOL RecieveCSendInfo(CSendInfo *pInfo);
  44. void FreeDecryptedData();
  45. protected:
  46. CEncryption *m_pEncryptor;
  47. SOCKET m_Socket;
  48. UCHAR *m_pDataReturnedFromDecrypt;
  49. };
  50. UINT MTServerThread(LPVOID pParam);
  51. UINT ClientThread(LPVOID pParam);
  52. #endif // !defined(AFX_SERVER_H__581A45D4_DCC2_44D7_8B43_60412E769D39__INCLUDED_)