• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于VC的傳輸文件集成軟件的設(shè)計與實現(xiàn)

      2019-10-11 12:07:57周超劉傳琦
      無線互聯(lián)科技 2019年12期

      周超 劉傳琦

      摘? ?要:文章設(shè)計了一款使用MFC作為類庫、前臺采用Visual C++進行開發(fā)的傳輸文件集成軟件。該軟件實現(xiàn)了以文本傳輸為核心,將互聯(lián)網(wǎng)傳輸、USB傳輸、串行口傳輸3種傳輸方式高度集成。具有適應(yīng)性強、能夠提高文件傳輸效率、加強文件傳輸?shù)谋C苄缘葍?yōu)點。

      關(guān)鍵詞:Socket;微軟基礎(chǔ)類庫;傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議

      隨著信息技術(shù)的進步,文件的傳輸功能發(fā)揮著越來越重要的作用。為了更加高效、安全地傳輸文件,本文設(shè)計了一款基于VC的傳輸文件集成軟件,并且對相關(guān)模塊進行了編程實現(xiàn),最后對軟件進行了測試,取得了良好的效果。

      1? ? 軟件設(shè)計及實現(xiàn)

      1.1? 窗口的設(shè)計

      首先,創(chuàng)建微軟基礎(chǔ)類庫(Microsoft Foundation Classes,MFC)工程,其中,應(yīng)用程序類型選擇和MFC庫的選擇是兩個比較重要的步驟。對于應(yīng)用程序類型的選項有4類,分別是“單個文檔”“多個文檔”“基于對話框”“多個頂層文檔”。

      其次,進行MFC庫的選擇,該選項有兩類,分別是“在共享DLL中使用MFC”與“在靜態(tài)庫中使用MFC”。在開發(fā)階段的程序中選擇“在靜態(tài)庫中使用MFC”,其大小以及效率都不用在意,編譯后的程序能直接容納調(diào)取MFC部分的庫,通過選項生成的程序可執(zhí)行文件幾乎能在所有的窗口上執(zhí)行,運行時不需要DLL[1]。

      再次,進行“控件的選擇”,這是根據(jù)軟件的需要來進行篩選的,本軟件因需要選擇了5種控件,其名稱和功能分別如下:(1)Text Control:可以顯示文本。(2)Combo-box Control:提供下拉選項。(3)Group-box Control:把若干個控件包含在一個組里。(4)Edit Control:編輯文本框,用戶可填入信息。(5)Button Control:按鈕。給控件命名采用匈牙利命名法,控件名即是ID。

      最后,進行窗口應(yīng)用程序的設(shè)計,其中,一個相當重要的元素就是窗口,主窗口在一個Windows Application至少要有一個,窗口顯示在屏幕上就是一塊矩形區(qū)域,是用戶與Windows Application交互的接口,接收用戶的輸入以及顯示輸出皆能通過Windows進行。本設(shè)計具有菜單、光標、圖標、背景色等選項。在創(chuàng)建Windows時設(shè)定其類型和大小,在設(shè)計Windows Class時指定光標、圖標和背景。在窗口應(yīng)用程序設(shè)計中還包括字體設(shè)計、顏色設(shè)計、圖標設(shè)計等。其中,字體設(shè)計中使用SetFont函數(shù)可以更改指定控件的字體,該函數(shù)實現(xiàn)把WM_SETFONT消息發(fā)送到與字體對象對應(yīng)的字體句柄的控件。顏色設(shè)計中,首先,調(diào)用GetClientRect,用此方法檢索控制客戶端區(qū)域的大小,然后調(diào)用參數(shù)lpRect,指定一個指向由RECT組成的指針。在圖標設(shè)計中,使用了重要函數(shù)OnPaint,其是CWnd的類成員,也是WM_PAINT消息的一種消息處理函數(shù),用來負責(zé)響應(yīng)該消息。

      1.2? 發(fā)送與接收功能的設(shè)計與實現(xiàn)

      首先,實現(xiàn)CComPort類,可用于通過端口號來打開端口、設(shè)置端口、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)等。編寫打開端口邏輯程序時,CreateFile函數(shù)功能多樣,可打開普通文件、設(shè)備、串口。編寫端口配置邏輯程序時,相關(guān)重要函數(shù)功能如下:(1)SetupComm函數(shù),指定通信設(shè)備的通信參數(shù)能被其初始化。(2)PurgeComm函數(shù)的作用是清空緩沖區(qū)。編寫關(guān)閉端口號邏輯程序時,CloseHandle函數(shù)涵蓋了同步對象、文件、文件映射、線程、進程以及安全等。編寫接收數(shù)據(jù)邏輯程序時,GetLastError函數(shù)返回的值,通過在應(yīng)用程序接口函數(shù)中調(diào)用SetLastError或SetLastErrorEx進行設(shè)置。編寫發(fā)送數(shù)據(jù)邏輯程序時,應(yīng)用GetBuffer函數(shù),其功能是獲取指定緩沖區(qū)里的內(nèi)容大小的指針并進行修改[2]。

      本軟件可實現(xiàn)Socket,USB與ComRS232數(shù)據(jù)的發(fā)送與接收。第一步:確定發(fā)送方式,若錯誤,則提示未選擇發(fā)送方式再退出;若正確,則跳轉(zhuǎn)到發(fā)送方式。第二步:選擇一種發(fā)送方式,例如選擇Socket,判斷參數(shù)是否存在,若否,則提示錯誤再退出;若是,則建立線程,如圖1所示。

      由于3種傳輸方式實現(xiàn)發(fā)送與接收的邏輯相似,以下將用Socket作例子進行詳細敘述。Socket是一組接口,也是應(yīng)用層與TCP/IP族通信的中間軟件抽象層,在設(shè)計模式中起到門面作用,繁雜的互聯(lián)網(wǎng)協(xié)議被它隱藏在套接口之后,對用戶而言,一組簡單的接口就是全部,為符合指定的協(xié)議,應(yīng)讓Socket去組織數(shù)據(jù)。首先,服務(wù)器端應(yīng)先初始化Socket,再與Port(端口)綁定;其次,對Port進行監(jiān)聽;再次,調(diào)用accept阻塞;最后,等待與Client(客戶端)連接。若此時Client有初始化一個Socket并連接服務(wù)器,若連接成功,Client與服務(wù)器端成功建立連接。當Client發(fā)送數(shù)據(jù)請求之后,服務(wù)器端則會接收到并處理該請求,再回應(yīng)數(shù)據(jù)發(fā)送給Client,然后會讀取該數(shù)據(jù),最后關(guān)閉連接,一次交互就此結(jié)束。對于本軟件,第一步:當文件發(fā)送之后,發(fā)送端需要接收反饋信息,若沒有接收到反饋信息,則需要判斷是否達到發(fā)送上限,若沒有則重新打包發(fā)送,若有則退出。第二步:若接收到反饋信息,則需要判斷反饋信息是否正確,若錯誤則退出。第三步:若正確則判斷發(fā)送次數(shù)是否達到3次,若達到3次則退出,若沒有則重新打包發(fā)送,如圖2所示。

      2? ? 軟件功能測試

      2.1? Socket功能測試

      在進行Socket傳輸功能調(diào)試時,使用NetAssist應(yīng)用程序。在發(fā)送區(qū)和接收區(qū)均設(shè)置選擇“十六進制顯示”,輸入發(fā)送內(nèi)容。更改協(xié)議類型后,進行連接。

      2.2? USB與串口功能測試

      在進行USB或者串口傳輸功能調(diào)試時,使用UartAssist應(yīng)用程序。在發(fā)送和接收區(qū)設(shè)置選擇“十六進制顯示”,輸入發(fā)送內(nèi)容,點發(fā)送即可,如圖3所示。

      2.3? 軟件的圖形界面測試

      在VS軟件里,打開所編寫保存的程序包,然后在【視圖】里找到【其他窗口】,打開【資源視圖】,在FileTransport.rc文件夾里,找到Diolog文件打開,找到IDD_FILE_TRANSPORT_DIALOG打開,即可得到圖形化界面,如圖4所示。然后按F5進行運行即可。可以看見傳輸方式的下拉菜單有3種選項,Send與Recv只讀,但可垂直滾動,其他控件功能皆完成,軟件成功實現(xiàn)運行。

      [參考文獻]

      [1]吳焱.Visual C++程序設(shè)計基礎(chǔ)[M].重慶:重慶大學(xué)出版社,2004.

      [2]丁展.Visual C++ 網(wǎng)絡(luò)通信編程實用案例精選[M].北京:人民郵電出版社,2004.

      Design and implementation of transmission file integration software based on VC

      Zhou Chao, Liu Chuanqi

      (School of Electrical Engineering, Tongling University, Tongling 244061, China)

      Abstract:This paper designs a transmission file integration software which uses MFC as class library and Visual C as foreground. The software takes text transmission as the core and integrates Internet transmission, USB transmission and serial port transmission. It has the advantages of strong adaptability, can improve the efficiency of file transfer, strengthen the confidentiality of file transfer and so on.

      Key words:Socket; microsoft basic class library; transmission control protocol/internet protocol

      资溪县| 祁连县| 临城县| 凤山市| 夏邑县| 高唐县| 临清市| 保山市| 临海市| 安新县| 隆昌县| 竹山县| 禄劝| 阿克苏市| 民权县| 水富县| 阳春市| 阳谷县| 万载县| 曲麻莱县| 连南| 昌邑市| 武宁县| 龙泉市| 彰化县| 曲麻莱县| 遂溪县| 城市| 吉安县| 汉川市| 韩城市| 饶河县| 高淳县| 读书| 安国市| 涟源市| 南溪县| 措勤县| 静乐县| 华蓥市| 禹城市|