libDownload
//Defins.h
#pragma once
#include <wininet.h>
#include <vector>
#include <libdownload\libDownload.h>
#include "Macro.h"
typedef CComAutoCriticalSection CObjLock;
typedef CComCritSecLock<CComAutoCriticalSection> CObjGuard;
const int HTTP_CONNECT_TIME_OUT = 30000; // 30s http连接超时
const int HTTP_SEND_TIME_OUT = 30000; // 30s http发送超时
const int HTTP_RECEIVE_TIME_OUT = 30000; // 30s 接收超时
const int HTTP_RECEIVE_BUFFER_LENGTH = 1024*8; // 8k 接收缓冲区长度
const int64 MIN_BLOCK = 32 * 1024; //最小块32k
const int64 MIN_BLOCK_TOSPLIT = MIN_BLOCK * 2; // 128k
const int DOWNLOAD_DEFAULT_COCURRENT = 4; // 默认并发数
const int DOWNLOAD_SPEED_TEST_INTERVAL = 1000; // 1s 测速
const int DOWNLOAD_PROGRESS_REPORT_INTERVAL = 300; // 0.3s
const int DOWNLOAD_MAINURL_MAXRETYR = 3; // Main url 's max retry 主要url重试次数
const int DOWNLOAD_FAIL_RETRY_INTERVAL = 3000; // 3s 重试间隔
//定义userAgent
#define LIBDOWNLOAD_USER_AGENT _T("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.8888.8888;)")
#define DOWNLOAD_TEMP_FILE_SUFFIX "_kt" //下载临时文件的后缀
#define DOWNLOAD_TEMP_FILE_INFO_SUFFIX "_kti" //下载临时文件信息的后缀
//url信息
struct UrlInfo
{
TCHAR szUrl[ MAX_PATH ]; //url
INTERNET_PORT nPort; //端口
INTERNET_SCHEME nScheme;
TCHAR szHostName[ MAX_PATH ]; //主机名
TCHAR szUrlPath[ MAX_PATH ]; //url路径
TCHAR szUserName[ MAX_PATH ]; //用户名
TCHAR szPassword[ MAX_PATH ]; //密码
TCHAR szExtraInfo[ MAX_PATH ]; //扩展信息
};