📄 mysocket.h
字号:
// MySocket.h: Schnittstelle f黵 die Klasse CMySocket.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MYSOCKET_H__D972BDE0_B82B_4AAD_8232_2A5BAF040129__INCLUDED_)
#define AFX_MYSOCKET_H__D972BDE0_B82B_4AAD_8232_2A5BAF040129__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "AsyncSocketEx.h"
#include "AsyncProxySocketLayer.h"
#include "AsyncSslSocketLayer.h"
class CMySocket : public CAsyncSocketEx
{
public:
enum
{
HTTP_STATE_INIT=0,
HTTP_STATE_CONNECTING,
HTTP_STATE_CONNECTED,
HTTP_STATE_GETDATAED
};
BOOL AddSslCertHashToTrustedList(unsigned char * pHash);
virtual void OnConnect(int nErrorCode);
virtual void OnReceive(int nErrorCode);
virtual void OnClose(int nErrorCode);
CAsyncProxySocketLayer *m_pProxyLayer;
CAsyncSslSocketLayer *m_pSslLayer;
int OnLayerCallback(const CAsyncSocketExLayer *pLayer, int nType, int nParam1, int nParam2);
typedef std::list<unsigned char*> t_HashList;
CMySocket(CEdit *pResponse, t_HashList *pSslTrustedCertHashList);
virtual ~CMySocket();
bool init( string url, __int64 firstRange = 0, string cookie = "", string referer = "", string userAgent = "", string user = "", string password = "", string extraHeader = "");
string getHostAddr() { return m_host; };
unsigned short getHostPort() { return m_port; };
private:
void sendRequest( string urlPath, string host, unsigned short port, __int64 firstRange = 0, string cookie = "", \
string referer = "", string userAgent = "", string user = "", string password = "", \
string extraHeader = "" );
bool parseURL( string url, string &urlPath, string &host, string fileName, unsigned short &port );
int parseHttpHead( string buffer, int size, int &headSize);
protected:
int m_state;
void AddStringToLog(LPCTSTR pszString);
t_HashList *m_pSslTrustedCertHashList;
CEdit *m_pResponse;
//add by zx http
__int64 m_downloadLength;
int m_headSize;
__int64 m_contentLength;
DWORD m_beginTick;
DWORD m_lastTick;
string m_urlPath;
string m_fileName;
string m_host;
unsigned short m_port;
__int64 m_firstRange;
string m_cookie;
string m_referer;
string m_userAgent;
string m_user;
string m_password;
string m_extraHeader;
};
#endif // !defined(AFX_MYSOCKET_H__D972BDE0_B82B_4AAD_8232_2A5BAF040129__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -