WebClientSocket.h
上传用户:tangyu_668
上传日期:2014-02-27
资源大小:678k
文件大小:1k
源码类别:

多媒体编程

开发平台:

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. CAtlStringMap<cookie_attribs> 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. CString m_sessid;
  20. CString m_cmd, m_path, m_query, m_ver;
  21. CStringA m_data;
  22. CAtlStringMap<> m_hdrlines;
  23. CAtlStringMap<> m_get, m_post, m_cookie;
  24. CAtlStringMap<> m_request;
  25. bool OnCommand(CStringA& hdr, CStringA& body, CStringA& mime);
  26. bool OnIndex(CStringA& hdr, CStringA& body, CStringA& mime);
  27. bool OnBrowser(CStringA& hdr, CStringA& body, CStringA& mime);
  28. bool OnControls(CStringA& hdr, CStringA& body, CStringA& mime);
  29. bool OnStatus(CStringA& hdr, CStringA& body, CStringA& mime);
  30.     bool OnError404(CStringA& hdr, CStringA& body, CStringA& mime);
  31.     bool OnPlayer(CStringA& hdr, CStringA& body, CStringA& mime);
  32.     bool OnSnapShotJpeg(CStringA& hdr, CStringA& body, CStringA& mime);
  33.     bool OnConvRes(CStringA& hdr, CStringA& body, CStringA& mime);
  34. };