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

正文內容

畢業(yè)設計-ftp客戶端軟件的設計與實現(xiàn)—論文-文庫吧

2024-11-11 17:25 本頁面


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