需要共享資源,則需要探測本地資源分布情況。
此處我們用的演算法比較2……不過還是說說吧。
下面使用mfc的cfilefind實現乙個本地檔案遞迴收集器,以jason格式儲存檔案路徑和檔案大小:
#ifndef collecter_h_
#define collecter_h_
#include#include#include "stdiofileex/stdiofileex.h"
#define targetfile "result.txt"
#define cfgfilename "path.txt"
using namespace std;
struct filestruct
;vectorfiles;
void findfile(cstring dir)
//遞迴訪問子目錄
if( finder.isdirectory() &&
finder.isdots() == false )
findfile( dir + _t("\\") + cstring( finder.getfilename() ) ); }}
/*[,{}...{}]
*/void writeresult()
"));
iter->size );
} fp.writestring( _t("]"));
fp.close();
}void readcfg(cstring& path)
void startcollect()
~ns_log()
void write( string dat )
is_busy = true;
string now_time = getnowtime();
logfile<<"【"mon = m_tm->tm_mon+1;
day = m_tm->tm_mday;
hour = m_tm->tm_hour;
min = m_tm->tm_min;
sec = m_tm->tm_sec;
sprintf(ptime, "%04d-%02d-%02d %d:%d:%d", year, mon, day, hour, min, sec);
return string( ptime );
} fstream logfile;
bool is_busy;
};#endif
未完待續…… 乙個基於socket的資源共享平台的實現(三)
需要共享資源,則需要探測本地資源分布情況。此處我們用的演算法比較2 不過還是說說吧。下面使用mfc的cfilefind實現乙個本地檔案遞迴收集器,以jason格式儲存檔案路徑和檔案大小 然後定期收集,對收集結果md5,若發生變化,則上傳伺服器。伺服器端使用乙個資料結構維護所有資源站資源,對於使用者的...
乙個基於socket的資源共享平台的實現(一)
前段時間和朋友一起做了乙個類似於電驢 迅雷 msn工具的毛坯模型,基本上所有功能都是從socket通訊級別向上實現。整體架構為c s架構,使用mfc實現。技術上都是很老的東西,此文主要介紹類似於 電驢 的這樣乙個軟體的設計思路和部分 框架。我們實現的 不是很優化,僅為設計思路的佐證。我最初做這個小軟...
乙個基於socket的資源共享平台的實現(二)
我們用乙個ns download pool類來封裝對其的管理。接下來我們針對資源傳送過程中限速進行分析和實現。如果需要將傳送速度限制在乙個值,我們可以這麼理解,單位時間內最多允許傳送資料為n,若超過之,就需要降低速度,若不足,則需要提高速度。如何控制速度?這裡我們採用最樸素的方法,sleep,只要將...