精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術ARM9工控主板文件傳送介紹

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2019-11-13 09:22 ? 次閱讀

文件傳送協議(FTP — File Transfer Protocol)是TCP/IP提供的標準機制,用來從一臺主機將文件復制到另一臺主機。從一臺計算機向另一臺計算機傳送文件是在聯網或互聯網環境中常見的任務。

英創ARM9系列工控主板預裝正版WinCE5.0操作系統,WinCE內核提供了FTP Server應用程序,這為通過FTP實現文件傳送提供了方便,在本公司網站文章《ARM9工控主板WinCE應用程序的遠程FTP自動更新》中介紹的方案,就是利用WinCE內核提供的FTP Server實現的應用程序遠程更新。但在很多應用場合,是工控主板作為本地FTP客戶端與遠端FTP服務器交換文件,為此需要程序員自己編寫在ARM9主板上運行的FTP客戶端的程序。對于WinCE操作系統,Microsoft提供了如FtpGetFile()、FtpPutFile()等用于文件傳送的函數,程序員利用這些函數,可以方便的編寫出FTP客戶端程序。但如果網絡環境復雜或采用GPRS網絡,由于GPRS網絡原因,網絡連接很容易中斷,如果每次連接中斷,整個文件都重新傳送,一個稍大的文件基本上不能成功傳送,此時就要求FTP文件傳送具有斷點續傳功能。

斷點續傳是指在文件的傳送過程中,因為網絡或其它原因至使傳送過程中斷,當再次傳送這個文件時,將從已傳送的部份開始,繼續未完成部份傳送,不用從頭對整個文件進行傳送,這樣可以節省時間,節約網絡流量,提高文件傳送速度。對于在GPRS網絡上應用的FTP,斷點續傳功能顯得尤為重要,但Microsoft提供的FTP API中,卻沒有支持斷點續傳的函數,為此,英創公司針對斷點續傳這一要求,直接采用SOCKET API,封裝了一個支持斷點續傳的FTP客戶端靜態庫EM_FTPClient.LIB,下面對這個庫函的API函數做詳細說明。

支持斷點續傳的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:斷點續傳標志

=TRUE:繼點續傳

(程序將掛斷FTP連接,重新執行Logon(),ChangeDir(),然后下載)

=FALSE: 正常下載

返回值 = TRUE:開始下載

FALSE:開始下載失敗

(5)bool DelFile( LPCTSTR lpszFileName)

功能描述:刪除遠端FTP服務器當前目錄下指定文件

輸入參數 lpszFileName:指定要刪除的文件

返回值 = TRUE:刪除成功

FALSE:刪除失敗

(6)bool Logoff( );

功能描述:注銷與遠端FTP服務器的連接

(7)void Abort( );

功能描述:中斷與遠端FTP服務器的連接

(8)FTPSTATUS* GetStatus( );

功能描述:獲取當前文件的下載狀態

返回值: 指向當前下載文件狀態數據結構的指針

文件下載狀態數據結構定義如下:

typedef struct

{

int nSucceed; //上傳/下載是否成功

//=0:文件正在傳輸,=1文件傳輸成功,=-1文件傳輸失敗

int nErrCnt; //重傳次數

int nMode; //上傳=1,下載=2

int nStatus; // FTP狀態

DWORD dwFileSize; //文件字節數

DWORD dwCompleteSize; // 已完成字節數

}FTPSTATUS;

(9)int GetErrorCode( );

功能描述:獲取最后一次錯誤的錯誤碼

返回值:錯誤碼(錯誤碼的定義請參看EM_FTPClient.H)

補充說明:

1、在調用GetFile()函數時,如果將bResum設置為TRUE,程序將自動執行以下步驟:

↓調用Abort( )中斷與FTP服務器的連接

↓調用Logon( )登錄到FTP服務器

↓調用ChangeDir( )設置FTP服務器當前目錄

↓從已完成傳送的部份繼續下載

其中Logon()和ChangeDir( )的參數是最后一次調用Logon()和ChangeDir( )傳入的值。

2、調用GetFile()函數返回為TRUE時,并不是表示文件下載成功,只表明文件開始下載。主程序應該通過判斷FTPSTATUS數據結構中的nSucceed值來確認下載是否成功。

3、現在的FTP服務器普遍支持PASV模式,因此本FTP Client僅支持PASV模式數據傳送。

4、英創公司提供相應的測試例程,感興趣的客戶可向英創索要相關代碼。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6085

    瀏覽量

    35225
收藏 人收藏

    評論

    相關推薦

    ARM9工控主板支持斷點續傳的FTP文件傳送

    文件傳送協議(FTPFile Transfer Protocol)是TCP/IP提供的標準機制,用來從一臺主機將文件復制到另一臺主機。從一臺計算機向另一臺計算機傳送
    發表于 02-19 11:02 ?40次下載

    ARM9工控主板應用程序自動加載實現

    ARM9工控主板有兩種工作模式:調試模式和運行模式。調試模式是指開機以后系統處于調試狀態,此時用戶可以通過eVC的遠程調試工具或微軟的A
    的頭像 發表于 10-08 17:13 ?1743次閱讀

    信息技術VS2005調試ARM9核心板簡介

    公司自2007年開始陸續推出一系列以ARM9 CPU為核心的嵌入式主板(如EM9000、EM9260),這些高性能的工控
    的頭像 發表于 10-31 15:03 ?1850次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創</b><b class='flag-5'>信息技術</b>VS2005調試<b class='flag-5'>ARM9</b>核心板簡介

    信息技術ARM9工控主板WinCE應用程序遠程控制應用

    公司推出的ARM9嵌入式工控主板產品系列,均預裝了正版的WinCE5.0操作系統。微軟的WINCE實時多任務操作系統是嵌入式領域的主流操
    的頭像 發表于 11-04 09:28 ?1717次閱讀

    信息技術ARM9工控主板內嵌AD概述

    公司推出的ARM9 嵌入式工控主板產品系列,均預裝了正版WinCE5.0 操作系統。
    的頭像 發表于 11-04 09:43 ?2607次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創</b><b class='flag-5'>信息技術</b><b class='flag-5'>ARM9</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b>內嵌AD概述

    信息技術ARM9工控板在遠程監控領域的應用

    ARM9工控主板的數據采集功能通常采用板上的GPIO實現數字輸入輸出、通過精簡ISA總線擴展相應的AD或DA實現模擬數據的輸入輸出。在
    的頭像 發表于 11-12 10:04 ?1738次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創</b><b class='flag-5'>信息技術</b><b class='flag-5'>ARM9</b><b class='flag-5'>工控</b>板在遠程監控領域的應用

    信息技術ARM9工控板串口設備的COM組件應用

    公司的ARM9工控主板產品均預裝了Windows CE5.0操作系統,支持包括EVC、C#、VB、LabView等多種開發工具。
    的頭像 發表于 11-05 10:07 ?1736次閱讀

    信息技術ARM9工控主板遠程操作自動更新介紹

    庫EM_FTPClient.LIB,客戶利用這個庫可以方便的編寫出適合自己應用的FTP客戶端應用程序,在《ARM9工控主板支持斷點續傳的FTP文件
    的頭像 發表于 11-13 09:26 ?1338次閱讀

    信息技術ARM9工控板遠程抓拍圖像應用介紹

    ARM9工控主板功能齊全、體積小巧、性能穩定、超低價格的嵌入式主板產品。
    的頭像 發表于 11-13 09:41 ?1947次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創</b><b class='flag-5'>信息技術</b><b class='flag-5'>ARM9</b><b class='flag-5'>工控</b>板遠程抓拍圖像應用<b class='flag-5'>介紹</b>

    信息技術工控主板EM9360的GPIO介紹

    公司的ARM9工控主板產品 EM9360是一款預裝WinCE操作系統,以多種通訊接口、支持各種擴展為其
    的頭像 發表于 11-14 09:34 ?2370次閱讀

    信息技術工控主板的復位管理介紹

     公司的工控主板是基于ARM9 CPU、預裝正版WinCE的嵌入式主板產品。作為嵌入式應用,
    的頭像 發表于 11-14 10:03 ?1629次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創</b><b class='flag-5'>信息技術</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b>的復位管理<b class='flag-5'>介紹</b>

    信息技術工控主板內核更新與版本管理介紹

    公司的ARM9工控主板系列產品均預裝了正版的Window CE操作系統,支持客戶采用強大的微軟開發工具直接開發應用程序。
    的頭像 發表于 11-15 09:24 ?1286次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創</b><b class='flag-5'>信息技術</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b>內核更新與版本管理<b class='flag-5'>介紹</b>

    信息技術EM9000工控主板的版本信息管理概述

    EM9000是公司極具特色的一款ARM9工控主板。經過長時間的完善,現系統已完全穩定。
    的頭像 發表于 11-17 11:23 ?1699次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創</b><b class='flag-5'>信息技術</b>EM9000<b class='flag-5'>工控</b><b class='flag-5'>主板</b>的版本<b class='flag-5'>信息</b>管理概述

    信息技術ARM9工控主板擴展矩陣鍵盤的方法

    鍵盤輸入,僅需要一些數字鍵或功能鍵(比如方向鍵),此時可通過外擴矩陣鍵盤來實現。 1、矩陣鍵盤擴展硬件電路 ARM9工控主板可通過GPI
    的頭像 發表于 01-14 11:05 ?1613次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創</b><b class='flag-5'>信息技術</b><b class='flag-5'>ARM9</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b>擴展矩陣鍵盤的方法

    信息技術ARM9工控主板的SMS短信息應用介紹

    的應用越來越廣泛,其中主要以GPRS數據通訊及SMS短信息方式為主。GPRS數據通訊是以TCP/IP方式進行通訊,GPRS模塊發送SMS短信,是通過串口發送AT指令來實現。 公司基于ARM
    的頭像 發表于 01-14 11:45 ?1322次閱讀