?? cdownload.h
字號:
// cdownload.h: interface for the cdownload class.
//
//////////////////////////////////////////////////////////////////////
//#include "MainFrm.h"
//*************************************************************
//作者:趙明
//EMAIL:zmpapaya@hotmail.com;papaya_zm@sina.com
//主頁:http://h2osky.126.com
/********************************************************/
#if !defined(AFX_CDOWNLOAD_H__9D039885_5200_4E69_A6DF_13A277F53A04__INCLUDED_)
#define AFX_CDOWNLOAD_H__9D039885_5200_4E69_A6DF_13A277F53A04__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
int readn(SOCKET fd,char *bp,int len);
//extern int totle;
//extern long filelen;
extern char name1[10][255];
//extern int size;
//extern int black;
//extern struct downinfo;
int sendn(SOCKET fd,char *bp,int len);
struct fileinfo
{
//文件信息
int fileno;//占四個字節
int type;
long len;//占四個字節
int seek;
char name[100];//占100個字節。
};//經過測試后發現,此結構體的大小是116字節:4*4+100=116 。
struct downinfo
{
//下載信息
int totle;//要被下載的文件中,已經下載下來了的字節數。
int black;
int filelen;//文件長度。
int threadno;//“可下載文件列表”List控件中當前列表項的索引。可用作filedono數組的下標,還可用作zmfile數組,down數組的下標。其實,這三個數組的下標值都是對應的,可互用。
CString name;
};
extern CString g_csIP;
DWORD WINAPI timethread(LPVOID lpparam);
//作者說,這是一個很重要的類。每一個下載的文件,都對應于一個此類的數據(存放在down數組中)
class cdownload
{
public:
void createthread();//開線程
DWORD finish1();//完成線程
int SendListCmd();//發命令1
downinfo doinfo;//文件信息(與服務器中的那個結構體的定義一樣)
int startask(int n);//開始傳文件n
//這個成員變量是用來作為下載文件的線程的編號,有效編號是從0開始的,所以,
//在類的構造函數中,此變量被初始化為-1。之所以要從0開始編號,是因為這個變量將作為兩個
//數組(good和filerange)的下標用。
long m_index;//每一個下載線程,都對應于此變量的一個取值(0,1,2,3)。
//用來表示:文件的各個段(每個段都用一個線程單獨下載),是否已經被成功地下載下來了。
BOOL good[BLOCK];
//每一個下載線程,都對應于此數組中的兩個元素:一個用作seek,另一個用做文件段的長度。
int filerange[100];
CString m_fname;//文件名
CString fnametwo;
UINT threadfunc(long index);//下載進程
//在開始傳送之前,向服務器發出獲取“可下載文件列表”的命令,以便讓客戶端知道有服務器上哪些文件可下載。
int sendrequest(int n);
cdownload(int thno1);
virtual ~ cdownload();
};
#endif // !defined(AFX_CDOWNLOAD_H__9D039885_5200_4E69_A6DF_13A277F53A04__INCLUDED_)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -