WebClientSocket.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:2k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. #pragma once
  2. class CWebServer;
  3. class CWebClientSocket : public CAsyncSocket
  4. {
  5. CWebServer* m_pWebServer;
  6. CMainFrame* m_pMainFrame;
  7. CString m_hdr;
  8. struct cookie_attribs {CString path, expire, domain;};
  9. CAtlMap<CString, cookie_attribs, CStringElementTraits<CString> > m_cookieattribs;
  10. void Clear();
  11. void Header();
  12. protected:
  13. void OnReceive(int nErrorCode);
  14. void OnClose(int nErrorCode);
  15. public:
  16. CWebClientSocket(CWebServer* pWebServer, CMainFrame* pMainFrame);
  17. virtual ~CWebClientSocket();
  18. bool SetCookie(CString name, CString value = _T(""), __time64_t expire = -1, CString path = _T("/"), CString domain = _T(""));
  19. typedef CAtlMap<CString, CString, CStringElementTraits<CString>, CStringElementTraits<CString> > CAtlStringMap;
  20. CString m_sessid;
  21. CString m_cmd, m_path, m_query, m_ver;
  22. CStringA m_data;
  23. CAtlStringMap m_hdrlines;
  24. CAtlStringMap m_get, m_post, m_cookie;
  25. CAtlStringMap m_request;
  26. bool OnCommand(CStringA& hdr, CStringA& body, CStringA& mime);
  27. bool OnIndex(CStringA& hdr, CStringA& body, CStringA& mime);
  28. bool OnBrowser(CStringA& hdr, CStringA& body, CStringA& mime);
  29. bool OnControls(CStringA& hdr, CStringA& body, CStringA& mime);
  30. bool OnStatus(CStringA& hdr, CStringA& body, CStringA& mime);
  31.     bool OnError404(CStringA& hdr, CStringA& body, CStringA& mime);
  32.     bool OnPlayer(CStringA& hdr, CStringA& body, CStringA& mime);
  33.     bool OnSnapShotJpeg(CStringA& hdr, CStringA& body, CStringA& mime);
  34.     bool OnConvRes(CStringA& hdr, CStringA& body, CStringA& mime);
  35. };