亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? downloadpub.h

?? ◆◆◆ 《FTP、HTTP 多線程斷點續傳下載文件》◆◆◆ FlashGet、網絡螞蟻想必大家都很熟悉
?? H
字號:
// DownloadPub.h: interface for the CDownloadPub class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DownloadPub_H__FF670BDB_1339_412D_AB6A_9B64FB29D2FE__INCLUDED_)
#define AFX_DownloadPub_H__FF670BDB_1339_412D_AB6A_9B64FB29D2FE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "SocketClient.h"
#include <Afxmt.h>
#include <afxtempl.h>

//缺省的重試次數
const UINT DEFAULT_RETRY_MAX	= 10; 

#define SLEEP_RETURN_Down(x)\
{\
	if ( ::WaitForSingleObject ( m_hEvtEndModule, x ) == WAIT_OBJECT_0 )\
		return DownloadEnd(FALSE);\
}

enum
{
	NOTIFY_TYPE_GOT_REMOTE_FILENAME,				// 取得遠程站點文件名, 當被下載的文件被重定向時才發送該通知,lpNotifyData 為 LPCTSTR 類型的文件名字符串指針
	NOTIFY_TYPE_GOT_REMOTE_FILESIZE,				// 取得遠程站點文件大小,lpNotifyData 為 int 類型的文件大小
	NOTIFY_TYPE_START_DOWNLOAD,						// 開始下載,lpNotifyData 無用
	NOTIFY_TYPE_END_DOWNLOAD,						// 結束下載,lpNotifyData 為 ENUM_DOWNLOAD_RESULT 類型的下載結果
	NOTIFY_TYPE_WILL_DOWNLOAD_SIZE,					// 本次需要下載的大小,lpNotifyData 為 int 類型的需要下載的大小
	NOTIFY_TYPE_THREAD_DOWNLOADED_SIZE,				// 某線程已下載的數據大小,lpNotifyData 為 int 類型的已下載的大小
};

typedef struct _DownloadNotifyPara
{
	int nIndex;
	UINT nNotityType;
	LPVOID lpNotifyData;
	LPVOID pDownloadMTR;
} t_DownloadNotifyPara;
typedef CArray<t_DownloadNotifyPara,t_DownloadNotifyPara&> t_Ary_DownloadNotifyPara;

// 消息通知回調函數
typedef void (*FUNC_DownloadNotify) ( t_DownloadNotifyPara *pDownloadNotifyPara, WPARAM wParam );
typedef void (*FUNC_SaveDownloadInfo) ( int nIndex, int nDownloadedSize, int nSimpleSaveSize, WPARAM wParam );

// 缺省端口號
#define DEFAULT_HTTP_PORT			80
#define DEFAULT_HTTPS_PORT			443
#define DEFAULT_FTP_PORT			21
#define DEFAULT_SOCKS_PORT			6815

#define RETRY_TIMES					999			// 重試多少次

typedef enum _DownloadResult
{
	ENUM_DOWNLOAD_RESULT_SUCCESS,
	ENUM_DOWNLOAD_RESULT_FAILED,
	ENUM_DOWNLOAD_RESULT_CANCEL,
} ENUM_DOWNLOAD_RESULT;

class CDownloadPub  
{
public:
	CString GetDownloadObjectFileName ( CString *pcsExtensionName=NULL );
	void Clear_Thread_Handle();
	void ResetVar();
	int GetUndownloadBytes ();
	BOOL ThreadProc_Download();
	BOOL SetSaveFileName ( LPCTSTR lpszSaveFileName );
	int Get_WillDownloadSize();
	void Set_WillDownloadSize ( int nWillDownloadSize );
	int Get_DownloadedSize();
	void Set_DownloadedSize ( int nDownloadedSize );
	int Get_TempSaveBytes();
	void Set_TempSaveBytes ( int nTempSaveBytes );
	int m_nIndex;
	CString GetRemoteFileName ();
	virtual BOOL GetRemoteSiteInfo();
	BOOL SetDownloadUrl ( LPCTSTR lpszDownloadUrl );
	virtual BOOL Connect ();
	CDownloadPub();
	virtual ~CDownloadPub();
	void SetAuthorization ( LPCTSTR lpszUsername, LPCTSTR lpszPassword );
	void SetReferer(LPCTSTR lpszReferer);
	void SetUserAgent(LPCTSTR lpszUserAgent);
	void Set_SaveDownloadInfo_Callback ( FUNC_SaveDownloadInfo Proc_SaveDownloadInfo, WPARAM wParam );
	virtual BOOL Download (
		int nWillDownloadStartPos,
		int nWillDownloadSize,
		int nDownloadedSize
	);
	BOOL Is_SupportResume () { return m_bSupportResume; }
	CString Get_ProtocolType () { return m_csProtocolType; }
	time_t Get_TimeLastModified() { return m_TimeLastModified.GetTime(); }
	int Get_FileTotalSize() { return m_nFileTotalSize; }
	CString Get_UserName () { return m_csUsername; }
	CString Get_GetPassword () { return m_csPassword; }
	CString Get_DownloadUrl () { return m_csDownloadUrl; }
	BOOL Is_DownloadSuccess() { return m_bDownloadSuccess; }
	HANDLE Get_Thread_Handle() { return m_hThread; }
	int Get_WillDownloadStartPos() { return m_nWillDownloadStartPos; }
	CString Get_ServerName() { return m_csServer; }
	void StopDownload ();
	LPVOID m_pDownloadMTR;

protected:
	virtual BOOL DownloadOnce();
	CFile m_file;
	int SaveDataToFile ( char *data, int size );
	virtual BOOL RecvDataAndSaveToFile(CSocketClient &SocketClient,char *szTailData=NULL, int nTailSize=0);
	BOOL DownloadEnd ( BOOL bRes );
	// 模塊結束事件
	HANDLE m_hEvtEndModule;
	// 連接服務器的 Socket
	CSocketClient m_SocketClient;
	// 待下載URL
	CString		m_csDownloadUrl;
	CString		m_csSaveFileName;

	// 保存下載信息的回調函數
	FUNC_SaveDownloadInfo m_Proc_SaveDownloadInfo;
	WPARAM m_wSaveDownloadInfo_Param;

	// 是否支持斷點續傳
	BOOL		m_bSupportResume;
	HANDLE		m_hThread;

	// 文件以及下載大小
	int					m_nFileTotalSize;				// 文件總的大小,-1表示未知文件大小
	int					m_nWillDownloadStartPos;		// 要下載文件的開始位置
	int					m_nWillDownloadSize;			// 本次需要下載的大小,-1表示不知道文件大小,所以下載到服務器關閉連接為止
	CCriticalSection	m_CSFor_WillDownloadSize;		// 訪問 m_nWillDownloadSize 變量的互斥鎖
	int					m_nTempSaveBytes;				// 存放在臨時緩沖中的字節數
	CCriticalSection	m_CSFor_TempSaveBytes;			// 訪問 m_nTempSaveBytes 變量的互斥鎖
	int					m_nDownloadedSize;				// 已下載的字節數,指完全寫到文件中的字節數,不包含臨時緩沖里的數據
	CCriticalSection	m_CSFor_DownloadedSize;			// 訪問 m_nDownloadedSize 變量的互斥鎖

	// 文件日期(遠程文件的信息)
	CTime		m_TimeLastModified;

	// Referer
	CString		m_csReferer;
	
	// UserAgent
	CString		m_csUserAgent;

	// 是否進行驗證 : Request-Header: Authorization
	CString		m_csUsername;
	CString		m_csPassword;

	// 下載過程中所用的變量
	CString		m_csProtocolType;	// 所使用的傳輸協議:http、ftp等
	CString		m_csServer;
	CString		m_csObject;
	CString		m_csFileName;
	USHORT		m_nPort;
private:
	BOOL OpenFileForSave();
	BOOL m_bDownloadSuccess;
};
int Base64Encode(LPCTSTR lpszEncoding, CString &strEncoded);
int Base64Decode(LPCTSTR lpszDecoding, CString &strDecoded);
BOOL ParseURL(LPCTSTR lpszURL,CString& strServer,CString& strObject,USHORT& nPort, CString &csProtocolType);
void Set_DownloadNotify_Callback ( FUNC_DownloadNotify Proc_DownloadNotify, WPARAM wParam );

#endif // !defined(AFX_DownloadPub_H__FF670BDB_1339_412D_AB6A_9B64FB29D2FE__INCLUDED_)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区人| 欧美日韩黄视频| 国产在线精品一区二区| 视频一区视频二区在线观看| 亚洲午夜一区二区三区| 亚洲国产精品久久久久秋霞影院| 一区二区三区精密机械公司| 亚洲三级免费观看| 洋洋av久久久久久久一区| 亚洲午夜在线电影| 日韩va欧美va亚洲va久久| 久久91精品国产91久久小草| 黄网站免费久久| 国产成人免费视频一区| 成人av网站大全| 欧美无乱码久久久免费午夜一区| 欧美狂野另类xxxxoooo| 欧美一级日韩免费不卡| 精品欧美一区二区在线观看| 欧美国产视频在线| 亚洲一区二区三区四区在线观看| 日韩av电影天堂| 国产成人激情av| 色综合久久久久| 欧美成人r级一区二区三区| 国产精品久久久久精k8| 亚洲香肠在线观看| 国产在线不卡一区| 91激情五月电影| 久久久久久久网| 一区二区三区 在线观看视频| 天涯成人国产亚洲精品一区av| 国产综合色在线视频区| 91成人看片片| 日本一区二区视频在线观看| 午夜久久电影网| 成人美女在线观看| 日韩三级av在线播放| 自拍偷拍亚洲欧美日韩| 狠狠狠色丁香婷婷综合久久五月| 91亚洲精品久久久蜜桃网站 | 欧美日韩一区 二区 三区 久久精品| 91精品国产色综合久久不卡蜜臀 | 五月婷婷综合激情| 成+人+亚洲+综合天堂| 欧美精品自拍偷拍动漫精品| 综合网在线视频| 国产九九视频一区二区三区| 欧美人伦禁忌dvd放荡欲情| 欧美国产日产图区| 精品一区二区影视| 欧美日韩国产电影| 一区二区三区高清不卡| 成人的网站免费观看| 国产网站一区二区| 国模一区二区三区白浆| 欧美高清激情brazzers| 亚洲精品国产精华液| 成人免费毛片aaaaa**| 精品电影一区二区三区| 日本免费新一区视频| 欧美亚洲综合另类| 亚洲人成影院在线观看| 91色乱码一区二区三区| 国产精品成人免费在线| 成人久久视频在线观看| 国产日韩综合av| 国产一区二区影院| 久久久电影一区二区三区| 黑人精品欧美一区二区蜜桃| 日韩一区二区麻豆国产| 蜜桃传媒麻豆第一区在线观看| 欧美日韩国产系列| 日本麻豆一区二区三区视频| 欧美疯狂做受xxxx富婆| 日韩黄色小视频| 日韩视频在线你懂得| 精品一区二区三区香蕉蜜桃| 日韩欧美的一区| 国产美女一区二区| 国产精品网站在线播放| 91视频免费观看| 亚洲超碰精品一区二区| 日韩欧美你懂的| 国内欧美视频一区二区| 亚洲国产精品成人久久综合一区| va亚洲va日韩不卡在线观看| 亚洲三级在线免费观看| 欧美放荡的少妇| 国内精品久久久久影院色| 国产精品拍天天在线| 日本韩国一区二区三区视频| 五月天欧美精品| 国产亚洲精品精华液| 97精品久久久午夜一区二区三区| 亚洲成人中文在线| 久久久777精品电影网影网| 成人少妇影院yyyy| 亚洲va国产va欧美va观看| 久久亚洲春色中文字幕久久久| 波多野结衣亚洲| 午夜欧美视频在线观看 | 91玉足脚交白嫩脚丫在线播放| 亚洲综合视频在线| 26uuu亚洲| 色呦呦日韩精品| 国产一区中文字幕| 亚洲一二三四在线| 久久久亚洲精华液精华液精华液 | 国产成人精品亚洲777人妖| 亚洲色图欧美偷拍| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 亚洲一区二区三区激情| 久久只精品国产| 精品视频资源站| 国产成人在线色| 日韩精品亚洲一区二区三区免费| 久久久精品日韩欧美| 欧美一区日本一区韩国一区| 成人app下载| 国内不卡的二区三区中文字幕 | 欧美精品在欧美一区二区少妇| 久久国产精品色| 五月婷婷久久综合| 日韩久久一区二区| 中文字幕第一区第二区| 欧美成人艳星乳罩| 91精品一区二区三区在线观看| 99精品黄色片免费大全| 国产露脸91国语对白| 日韩avvvv在线播放| 一区二区免费视频| 亚洲人吸女人奶水| 三级在线观看一区二区| 亚洲精选免费视频| 日韩精品一区二区三区视频| 国产一区二区在线影院| 中文字幕一区二区不卡| 日韩精品一区二区三区四区| 欧美日韩在线三级| 狠狠色狠狠色综合| 一区二区在线观看免费视频播放| 久久久电影一区二区三区| 日韩一级大片在线观看| 91精品91久久久中77777| va亚洲va日韩不卡在线观看| 国产91丝袜在线播放九色| 国产永久精品大片wwwapp| 九九热在线视频观看这里只有精品| 性久久久久久久久| 亚洲国产另类av| 天堂精品中文字幕在线| 亚洲超碰97人人做人人爱| 亚洲国产日韩精品| 日韩精品色哟哟| 日韩黄色免费电影| 另类中文字幕网| 精品一区二区三区在线播放视频| 久久精品国产秦先生| 韩国三级中文字幕hd久久精品| 捆绑变态av一区二区三区| 久久精品国产精品青草| 韩国三级电影一区二区| 国产大陆亚洲精品国产| 成人av午夜影院| 在线观看av一区| 制服丝袜国产精品| 精品久久人人做人人爱| 国产人妖乱国产精品人妖| 国产精品国产自产拍在线| 亚洲精品综合在线| 免费成人在线观看| 国产成人精品免费一区二区| 91麻豆自制传媒国产之光| 欧美视频自拍偷拍| 精品美女一区二区| 专区另类欧美日韩| 日韩高清国产一区在线| 国产一区二区不卡| 色94色欧美sute亚洲13| 69堂国产成人免费视频| 国产调教视频一区| 亚洲精品乱码久久久久久久久| 日韩精品每日更新| 国产成人午夜视频| 欧美日韩国产系列| 国产亚洲美州欧州综合国| 亚洲永久精品大片| 韩国中文字幕2020精品| 色婷婷久久99综合精品jk白丝| 日韩欧美在线观看一区二区三区| 久久亚洲一区二区三区明星换脸| 亚洲欧美日韩在线播放| 美国欧美日韩国产在线播放 | 欧美一区二区三区在线观看| 久久老女人爱爱| 天天综合日日夜夜精品| 成人美女视频在线观看| 欧美一区二区三区白人| 亚洲欧美一区二区久久|