180 likes | 295 Views
Network Programming Final Project – FTP Client. 指導教授 : 潘仁義 組別 : 第 4 組 組員 : 501435001 楊興忠 501435005 蕭俊宇 2014/01/16. Outline. 功能要求 開發工具 作業系統 程式架構 功能測試 背景知識. 功能要求. 檔案下載 ( 從 server 端下載一個檔案 ). 開發工具. C. 作業系統. Ubuntu 10.4. 程式架構 (I). 程式架構 (2). - Server - ftps.c
E N D
Network ProgrammingFinal Project – FTP Client 指導教授: 潘仁義 組別: 第4組 組員: 501435001 楊興忠 501435005 蕭俊宇 2014/01/16
Outline • 功能要求 • 開發工具 • 作業系統 • 程式架構 • 功能測試 • 背景知識
功能要求 • 檔案下載(從server 端下載一個檔案)
開發工具 • C
作業系統 Ubuntu 10.4
程式架構(2) - Server - ftps.c fread將 fp開啟的檔案讀到 buffer 裡面。 write 將 bufffer裡面的資料寫入連線的 new_fd。 - Client - ftpc.c 用一個 while 迴圈,來接收檔案。 fread將 fp開啟的檔案讀到 buffer 裡面。 fwrite將 buffer 的資料寫入 fp,已預先準備的filename中。
功能測試 - Server - ftps.c( server端目錄及檔案命令下達) ./ftps ss.mp3
功能測試 - Client - ftpc.c( client 端目錄及檔案命令下達) ./ftpc 192.168.0.192 ss.mp3
功能測試 - Client - ftpc.c( client 端目錄) client 端目錄下多出ss.mp3 的檔案
背景知識 • FTP protocol(passive mode/active mode) • C programing language • FTP RFC 959
FTP - File Transfer Protocol File Transfer Protocol, FTP • 是用於在網路上進行檔案傳輸的一套標準協議。它屬於網路傳輸協定(TCP/IP)的應用層協定,定義在RFC 959中。 • 提供目前登錄的電腦與遠端主機間下載、上傳檔案的服務。 • Port number: 控制連線(21),資料連線(20)
FTP – File Transfer Protocol FTP是一個8位元的客戶端-伺服器協定,能操作任何型別的檔案而不需要進一步處理,就像MIME或Unicode一樣。 除文字檔可以利用ASCII模式下載或上傳外,一律使用Binary。
FTP – 工作模式 • Standard (Active Mode, 主動模式) 在建立資料通道時,服務端去連接別人. • Passive (Passive Mode, 被動模式) 在建立資料通道時,服務端被別人連接. • 建立資料通道時,用Active模式還是Passive模式,選擇權在於FTP用戶端。