⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 downloaddata.h

📁 C++写的网络爬虫程序
💻 H
字号:
////////////////////////////////////////////////////
//设计者姓名:LWZ小组 刘克东 00348231
//项目名:大实习-搜索引擎-网络化爬虫
//创建日期:2004-12-10
//最近一次修改日期:2004-12-26
//类名称:DownloadData
//定义该类的目的:
//	储存工程下载信息,每个下载线程共享数据区,包括URL队列,当前线程数量等等
//类属性:
//private
//	CCriticalSection criSection;	临界区对象

//	UINT uMaxSizeOfContainer;		URL队列最大容量
//	UINT uMaxThreadNum;				最大线程数目
//	CString URLcontainer[4000];		URL队列(数组实现)

//	UINT uCur_URLnum;				当前URL数量
//	UINT uCur_URLptr;				URL队列头部指针
//	UINT uCur_Fileid;				当前本地文件编号
//	UINT uCur_ActiveThread;			当前活动线程数量

//	CString str_LocalDir;			本地储存目录
//类中函数及功能:
//	DownloadData();
//	virtual ~DownloadData();

//	bool IsFull();					是否URL队列已经满了
//	bool IsExisted(CString &);		是否URL已经存在于队列中
//	bool IsEmpty();					是否URL队列空了(无未处理的URL)

//	UINT GetMaxThreadnum();			获得最大线程数目
//	UINT GetCurThread();			获得当前活动的线程数目
//	bool DeleThread();				线程结束后,从数据区删除一个线程记录,成功返回true
//	bool AddThread();				线程开始,向数据区添加一个线程记录,成功返回true

//	bool AddURL(CString &);			向共享数据区URL队列尾添加一个URL
//	bool GetCurURL(CString &);		从共享数据区URL队列头取出一个URL

//	void GetFileName(CString &);	获得当前本地存储文件的地址
//	bool SetPro(UINT,UINT,CString &);	根据用户设定起始文件名称,最大线程数量,保存路径
//	void showURL();					显示URL队列内容(调试用)
//与其他类的关系:
//	被用户界面线MainThread程调用,生成一个工程的共享数据区,从而实现多线程下载任务
////////////////////////////////////////////////////
// DownloadData.h: interface for the DownloadData class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DOWNLOADDATA_H__0D70A93F_DC0C_41FD_B4B7_CC3756B176D0__INCLUDED_)
#define AFX_DOWNLOADDATA_H__0D70A93F_DC0C_41FD_B4B7_CC3756B176D0__INCLUDED_

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

class DownloadData  
{
private:
	CCriticalSection criSection;

	UINT uMaxSizeOfContainer;
	UINT uMaxThreadNum;
	CString URLcontainer[4000];

	UINT uCur_URLnum;
	UINT uCur_URLptr;
	UINT uCur_Fileid;
	UINT uCur_ActiveThread;

	CString str_LocalDir;

public:
	DownloadData();
	virtual ~DownloadData();

	bool IsFull();
	bool IsExisted(CString &);
	bool IsEmpty();
	

	UINT GetCurThread();
	bool DeleThread();
	bool AddThread();
	UINT GetMaxThreadnum();
	
	bool AddURL(CString &);
	bool GetCurURL(CString &);
	
	void GetFileName(CString &);
	bool SetPro(UINT,UINT,CString &);

	void showURL();
};

#endif // !defined(AFX_DOWNLOADDATA_H__0D70A93F_DC0C_41FD_B4B7_CC3756B176D0__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -