freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-ftp客戶端軟件的設(shè)計(jì)與實(shí)現(xiàn)—論文-資料下載頁

2024-12-01 17:25本頁面

【導(dǎo)讀】起初,F(xiàn)TP并不是應(yīng)用于IP網(wǎng)絡(luò)上的協(xié)議,而是20世紀(jì)60~80. 年代美國國防部組建的ARPANET網(wǎng)絡(luò)中,用于計(jì)算機(jī)間的文件傳輸?shù)膮f(xié)議。至今日,F(xiàn)TP仍然保持其可靠性,高速地傳輸文件,它還允許文件遠(yuǎn)程存取。使得用戶可以在某個(gè)系統(tǒng)上工作,而將文件存貯在別的系統(tǒng)。

  

【正文】 時(shí),客戶與服務(wù)器的端口 21 建立一個(gè)控制連接,用來傳送客戶的命令和服務(wù)器的應(yīng)答,該連接一直保持到客戶與服務(wù)器通信結(jié)束為當(dāng)客戶發(fā)出數(shù)據(jù)傳輸命令時(shí),服務(wù)器會(huì)主動(dòng)與客戶建立數(shù)據(jù)連接,并與其進(jìn)行數(shù)據(jù)交換。 客戶端用戶并不直接處理控制連接上的 FTP 命令和 FTP 響應(yīng),而是由兩個(gè)協(xié)議解釋器進(jìn)行處理。用戶接口為客戶端用戶提供一定形式的輸入界面,接收用戶的命令,將其轉(zhuǎn)換成標(biāo)準(zhǔn)的 FTP 命令,最終將控制連接上的 FTP 響應(yīng)轉(zhuǎn)換成用戶可 理解的方式。在客戶與服務(wù)器的整個(gè)連接期間,控制連接必須保持, 而數(shù)據(jù)連接卻可以根據(jù)請(qǐng)求動(dòng)態(tài)地建立和關(guān)閉 。在最常用的流模式中,文件結(jié)束是用數(shù)據(jù)連接的關(guān)閉來表示的,換句話說,每傳輸一個(gè)文件或文件列表,系統(tǒng)就會(huì)再建立一個(gè)新的數(shù)據(jù)連接。 圖 4 FTP使用的兩個(gè) TCP連接 開發(fā)平臺(tái) 本文件傳輸系統(tǒng)是采用 Borland 公司公司推出 的 JBuilder 作為開發(fā)平臺(tái),它 是一款優(yōu)秀的 Java IDE 集成開發(fā) 環(huán)境 工具, JBuilder 9是目前的 較 新 的 版 本它比以前的版本更加簡(jiǎn)單和直觀 , 方便上手 在這個(gè)版本中 Borland集成目前眾多JAVA 開發(fā) 的優(yōu)秀技術(shù),如:工程管理、單元測(cè)試、代碼審查、撰寫 Javadoc 說明文檔等等,極大的方便了 Java 開發(fā)人員的工作 。如果用戶既要求易于進(jìn)行可視化布局,又要求有較大的靈活性, JBuilder 就是最好的選擇。 3 系統(tǒng)需求分析與總體設(shè)計(jì) 需求分析 用戶需求 軟件要簡(jiǎn)單易上手,能夠匿名或者使用帳號(hào)登錄到用戶指定的服務(wù)器上,進(jìn)行訪問和數(shù)據(jù)的上傳下載。 功能需求 該系統(tǒng)主要包括以下幾個(gè)方面: ; ; /本地目錄 和文件模塊; /下載文件模塊。由這四個(gè)模塊構(gòu)成該系統(tǒng)。 性能需求: 整個(gè)系統(tǒng)操作應(yīng)當(dāng)簡(jiǎn)便,界面友好,運(yùn)行穩(wěn)定,執(zhí)行速度快。系統(tǒng)本身運(yùn)行對(duì)計(jì)算機(jī)硬件平臺(tái)和操作系統(tǒng)平臺(tái)要求適中。 設(shè)計(jì)思路 上傳下載程序主要完成文件的傳輸,是系統(tǒng)的核心模塊。 Jbuilder9 提供的FTP 控件已經(jīng)對(duì)其進(jìn)行了類封裝,因而對(duì)用戶而言它是透明的,不必再去編程解釋響應(yīng)消息等,這就是控件的好處。這樣使用 JBuilder9,就節(jié)約了大量的開發(fā)時(shí)間。即使對(duì) FTP 不是很了解,都可以很快建立起一個(gè) FTP 客戶端程序來。由于本 程序只是 FTP 客戶端,下面將分別對(duì)整個(gè)系統(tǒng)的圖形界面、登錄 模塊 、 遠(yuǎn)程 瀏覽 模塊、本地瀏覽模塊、 上傳 模塊和 下載 模塊六 大模塊的程序?qū)崿F(xiàn)細(xì)節(jié)進(jìn)行詳細(xì)介紹。 圖 5 系統(tǒng)模塊圖 在 Jbuilder9 環(huán)境所 提供的擴(kuò)展包中 , 已經(jīng) 提供了一 些 網(wǎng)絡(luò)類的 類 庫 ——.,該類庫主要用于建立 FTP 連接的類。利用此類的方法,我們可以遠(yuǎn)程登錄到 FTP 服務(wù)器,列出該服務(wù)器上的目錄,設(shè)置傳輸協(xié)議,以及傳送文件。 FtpClient 類涵 蓋了幾乎所有 FTP 的功能, FtpClient 的實(shí)例變量保存了有關(guān)建立 代理 的各種信息。當(dāng)然,還有很多此類開源的庫,可以實(shí)現(xiàn) FTP的功能。這里我采用了 FtpClient 作為此次畢業(yè)設(shè)計(jì)的資源。以下是 部分 FtpClient的 常用核心函數(shù)說明 : FtpClient 有三種不同形式的構(gòu)造函數(shù),此構(gòu)造函數(shù)將創(chuàng)建一 FtpClient 類,但不建立 FTP 連接。如下: 4. public FtpClient(String hostname,int port) 此構(gòu)造函數(shù)利用給出的主機(jī)名和端口號(hào)建立一條 FTP 連接。 5. public FtpClient(String hostname) 登錄模塊 服務(wù)器目錄瀏覽模塊 上傳模塊 本機(jī) 目錄瀏覽的設(shè)計(jì) FTP 客戶端 下載模塊 此構(gòu)造函數(shù)利用給出的主機(jī)名建立一條 FTP 連接,使用默認(rèn)端口號(hào)。 6. FtpClient() 一旦建立了類 FtpClient, FTP 連接可以用 openServer 方法建立 , 這個(gè)類的方法來打開與 FTP 服務(wù)器的連接 。 類 ftpClient 提供了如下兩個(gè)可用于打開與FTP 服務(wù)器之間的連接的方法。 3. public void openServer(String hostname) 此 方法用于建立一條與指定主機(jī)上的 FTP 服務(wù)器的連接,使用默認(rèn)端口號(hào)。 4. public void openServer(String host,int port) 此 方法用于建立一條與指定主機(jī)、指定端口上的 FTP 服務(wù)器的連接。 打開連接之后,接下來的工作是注冊(cè)到 FTP 服務(wù)器。這時(shí)需要利用下面的方法。此方法利用參數(shù) username 和 password 登錄到 FTP 服務(wù)器。 public void login(String username, String password) 下面是 FtpClient 類所提供的一些控制命令。 public void cd(String remoteDirectory) 該命令用于把 遠(yuǎn)程系統(tǒng)上的目錄切換到 remoteDirectory 所指定的目錄。 public void cdUp(): 該命令用于把遠(yuǎn)程系統(tǒng)上的目錄切換到上一級(jí)目錄。 public String pwd(): 該命令可顯示遠(yuǎn)程系統(tǒng)上的目錄狀態(tài)。 public void binary(): 該命令可把傳輸格式設(shè)置為二進(jìn)制格式。 此外 ,類 FtpClient還提供了可用于傳遞并檢索目錄清單和文件的若干方法。這些方法返回的是可供讀或?qū)懙妮斎?、輸出流。下面是其中一些主要的方法? public TelInputStream list() 返回與遠(yuǎn)程機(jī)器上當(dāng)前目錄相對(duì)應(yīng)的輸入流。 public TelInputStream get(String filename) 獲取遠(yuǎn)程機(jī)器上的文件 filename,借助 TelInputStream 把該文件傳送到本地。 public TelOutputStream put(String filename) 以寫方式打開一輸出流,通過這一輸出流把文件 filename 傳送到遠(yuǎn)程計(jì)算機(jī)。 4 系統(tǒng)模塊的實(shí)現(xiàn) 界面 模塊實(shí)現(xiàn) Java 是一個(gè)面向?qū)ο蟮某绦蛘Z言,它使用了很多對(duì)象 ,在 JBuilder9 中使用的是 JDK 庫 (awt, swing),它提供了很多的界面對(duì)象,可以很直觀的看到設(shè)計(jì)的界面。 文件處理界面的設(shè)計(jì)是在 jPanel2 的基礎(chǔ)上實(shí)現(xiàn)的,增加了一些其他控件。它是由三大部分組成: FTP 服務(wù)器列表,本地主機(jī)列表,操作時(shí)信息列表。還有三個(gè)按鈕:上傳,下載,選擇目錄下個(gè)命令按鈕。 public class Frame1 extends JFrame { private JPanel contentPane。 private JTextField jTextField1 = new JTextField()。 private JTextField jTextField2 = new JTextField()。 private JTextField jTextField3 = new JTextField()。 private JCheckBox jCheckbox1 = new JCheckBox()。 FtpClient ftp=null。 JTabbedPane jTabbedPane1 = new JTabbedPane()。 JPanel jPanel1 = new JPanel()。 JPanel jPanel2 = new JPanel()。 PaneLayout paneLayout1 = new PaneLayout()。 XYLayout xYLayout1 = new XYLayout()。 JLabel jLabel1 = new JLabel()。 JLabel jLabel2 = new JLabel()。 JLabel jLabel3 = new JLabel()。 JTextField jTextField4 = new JTextField()。 JLabel jLabel4 = new JLabel()。 BorderLayout borderLayout1 = new BorderLayout()。 Box box1。 JPanel jPanel3 = new JPanel()。 JPanel jPanel4 = new JPanel()。 XYLayout xYLayout2 = new XYLayout()。 BorderLayout borderLayout2 = new BorderLayout()。 jscrollPane jscrollPane1 = new jscrollPane()。 JButton jButton3 = new JButton()。 JButton jButton4 = new JButton()。 jscrollPane jscrollPane2 = new jscrollPane()。 //定義樹節(jié)點(diǎn),模型和樹視圖 DefaultMutableTreeNode root1 = new DefaultMutableTreeNode(目錄 中沒有文件 )。 DefaultTreeModel model1 = new DefaultTreeModel(root1)。 JTree jTree1 = new JTree(model1)。 JButton jButton5 = new JButton()。 JLabel statusLabel = new JLabel()。 List list1 = new List()。 jscrollPane jscrollPane3 = new jscrollPane()。 JTextArea jTextArea1 = new JTextArea()。 JButton jButton1 = new JButton()。 JButton jButton2 = new JButton()。 JLabel jLabel5 = new JLabel()。 JLabel jLabel6 = new JLabel()。 } 圖 6 瀏覽及操作界面 登錄模塊實(shí)現(xiàn) 一般的使用辦法是,直接使用構(gòu)造方法創(chuàng)建一個(gè) FtpClient 類對(duì)象 (如果在構(gòu)造 FtpClient 類對(duì)象時(shí)沒有設(shè)置參數(shù),則可以使用 openServer 方法來打 開服務(wù)器端口 ),然后使用 login 方法來登錄,并進(jìn)行用戶認(rèn)證。以下是登錄程序代碼: // 功能:登錄連接到 FTP 服務(wù)器。 void jButton1_actionPerformed(ActionEvent e) { int ch。 String hostname=()。 //如果已經(jīng)打開了 FTP 服務(wù)器,則先關(guān)閉 FTP 文件服務(wù)器 try { if (ftp!=null) ()。 } catch (IOException ex) { ()。 } //連接到服務(wù)器 try { (正在連接,請(qǐng)等待 .....)。 ftp= new FtpClient(hostname)。 //登錄 Ftp 服務(wù)器 ((),())。 //使用二進(jìn)制協(xié)議 ()。 } catch(FtpLoginException ex){ //沒 有主機(jī)的登錄權(quán)限 (無權(quán)限與主機(jī) :+hostname+連接 !)。 } catch (IOException ex){ //連接主機(jī)失敗 (連接主機(jī) :+hostname+失敗 !)。 } catch(SecurityException ex) { //用戶或者密碼可能不對(duì) ( 用 戶 或 者 密 碼 可 能 不 對(duì) , 無 權(quán) 限 與 主機(jī) :+hostname+連接 !)。 } //連接成功后的顯示 (連接主機(jī) :+hostname+成功 !)。 //列表框需要重新刷新 ReloadList()。 } 圖 7 登錄界面 瀏覽程序 我們利用 FtpClient 控件可以實(shí)現(xiàn) FTP 客戶端應(yīng)用程序的瀏覽功能,瀏覽功能的實(shí)現(xiàn)程序由瀏覽服務(wù)器端文件和瀏覽本地文件兩部分組成。 瀏覽服務(wù)器端目錄程序 當(dāng)連接登錄成功之后,可使用 FtpClient 控件的 List()方法執(zhí)行 FTP 服務(wù)器端上的目錄瀏覽 (List)功能,以取得 FTP 服 務(wù)器默認(rèn)的目錄內(nèi)容。一般 List 方法會(huì)列出 FTP 端目錄與文件的詳細(xì)內(nèi)容,包括創(chuàng)建文件日期,文件大小,目錄與文件的名稱等相關(guān)信息。當(dāng)然, FTP 服務(wù)器端必須開放目錄讀取的權(quán)限,以允許連接登錄及瀏覽目錄,否則, Connect 方法會(huì)執(zhí)行失敗。而這個(gè)方法執(zhí)行后的結(jié)果是 TelInputStream 數(shù)據(jù)流,本系統(tǒng)要把它顯示在一個(gè)列表框中,還需要進(jìn)行分解操作。下面是對(duì)列表框進(jìn)行操作的程序代碼: //清空目錄列表,調(diào)用 List()方法獲取文件列表。 privat
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1