|
|
文件傳送協(xié)議(FTP — File Transfer Protocol)是TCP/IP提供的標準機制,用來從一臺主機將文件復制到另一臺主機。從一臺計算機向另一臺計算機傳送文件是在聯(lián)網或互聯(lián)網環(huán)境中常見的任務。
英創(chuàng)ARM9系列工控主板預裝正版WinCE5.0操作系統(tǒng),WinCE內核提供了FTP Server應用程序,這為通過FTP實現(xiàn)文件傳送提供了方便,在本公司網站文章《ARM9工控主板WinCE應用程序的遠程FTP自動更新》中介紹的方案,就是利用WinCE內核提供的FTP Server實現(xiàn)的應用程序遠程更新。但在很多應用場合,是工控主板作為本地FTP客戶端與遠端FTP服務器交換文件,為此需要程序員自己編寫在ARM9主板上運行的FTP客戶端的程序。對于WinCE操作系統(tǒng),Microsoft提供了如FtpGetFile()、FtpPutFile()等用于文件傳送的函數,程序員利用這些函數,可以方便的編寫出FTP客戶端程序。但如果網絡環(huán)境復雜或采用GPRS網絡,由于GPRS網絡原因,網絡連接很容易中斷,如果每次連接中斷,整個文件都重新傳送,一個稍大的文件基本上不能成功傳送,此時就要求FTP文件傳送具有斷點續(xù)傳功能。
斷點續(xù)傳是指在文件的傳送過程中,因為網絡或其它原因至使傳送過程中斷,當再次傳送這個文件時,將從已傳送的部份開始,繼續(xù)未完成部份傳送,不用從頭對整個文件進行傳送,這樣可以節(jié)省時間,節(jié)約網絡流量,提高文件傳送速度。對于在GPRS網絡上應用的FTP,斷點續(xù)傳功能顯得尤為重要,但Microsoft提供的FTP API中,卻沒有支持斷點續(xù)傳的函數,為此,英創(chuàng)公司針對斷點續(xù)傳這一要求,直接采用SOCKET API,封裝了一個支持斷點續(xù)傳的FTP客戶端靜態(tài)庫EM_FTPClient.LIB,下面對這個庫函的API函數做詳細說明。
支持斷點續(xù)傳的FTP庫函數說明:
(1)bool Logon( LPCTSTR lpszHostIP, LPCTSTR lpszUserName=_T(’’), LPCTSTR lpszPassword=_T(’’), int nTimeOut="5000" ); 功能描述:登錄到FTP服務器 輸入參數 lpszHostIP:服務器IP lpszUserName:用戶名 lpszPassword:用戶密碼(當用戶名用與用戶密碼為空時,將匿名登錄) nTimeOut:超時設置 1000(mS)<=nTimeOut<=60000(mS) 返回值 = TRUE:登錄FTP服務器成功 FALSE:登錄FTP服務器失敗
(2)bool ChangeDir( LPCTSTR lpszRemoteDir=_T(’\\’) ); 功能描述:設置遠端FTP服務器當前目錄 輸入參數 lpszRemoteDir:服務器目錄 返回值 = TRUE:目錄更改成功 FALSE:目錄更改失敗
(3)bool ListAll( FILELIST* fileList ); 功能描述:獲取FTP服務器當前目錄下的所有文件的列表 輸入參數 fileList:接收文件列表的結構體 返回值 = TRUE:獲取文件列表成功 = FALSE:獲致文件列表失敗 文件列表數據結構定義如下: typedef struct { int nFileNum; //當前目錄文件個數 TCHAR FileList[MAXFILENUM][MAX_PATH]; //文件名列表 //(注:當nFileNum = 0 時,此數組中的內容無效) }FILELIST;
(4)bool GetFile( LPCTSTR lpszLocalFile, LPCTSTR lpszRemoteFile, int nMode = 0, bool bResume=FALSE ); 功能描述:從FTP服務器上下載指定文件(如果下載的文件已存在于本地當前目錄下,將覆蓋下載) 輸入參數 lpszLocalFile:存儲為本地文件名 lpszRemoteFile:下載的指定文件 nMode:傳輸模式 =0: 二進制模式 =1: 文本模式 bResume:斷點續(xù)傳標志 =TRUE:繼點續(xù)傳 (程序將掛斷FTP連接,重新執(zhí)行Logon(),ChangeDir(),然后下載)
|
|
狀 態(tài):
離線
公司簡介
產品目錄
|
|
公司名稱:
|
英創(chuàng)信息技術有限公司
|
聯(lián) 系 人: |
李林
|
電 話: |
028-86180660
|
傳 真: |
028-85141028 |
地 址: |
成都市高新區(qū)高朋大道5號博士創(chuàng)業(yè)園 |
郵 編: |
610041 |
主 頁: |
|
|
|
|
|