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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-c 小型ftp服務(wù)器系統(tǒng)-文庫吧

2024-11-13 20:13 本頁面


【正文】 人在使用他們的服務(wù)。 FTP 的工作原理與其他許多網(wǎng)絡(luò)實(shí)用程序一樣,也是基于客戶服務(wù)器模式?;ヂ?lián)網(wǎng)文件傳輸協(xié)議 File Transfer Protocol 標(biāo)準(zhǔn)是在 FTC959 說明的。該協(xié)議定義了一個(gè)在遠(yuǎn)程計(jì)算機(jī)系統(tǒng)和本地計(jì)算機(jī)系統(tǒng)之間傳輸文件的標(biāo)準(zhǔn)。一般來說,要傳輸文件的用戶需先經(jīng)過認(rèn)證以后才能登錄 ftp 服務(wù)器,訪問在遠(yuǎn)程服務(wù)器的文件。大多數(shù)的 FTP 服務(wù)器往往提供一個(gè) guest 的公共帳戶來允許沒有 FTP服務(wù)器 帳戶的用戶可以訪問該 FTP 服務(wù)器。一個(gè) FTP 會話通常包括五個(gè)軟件元素的交互。就模型而言,從 1973 年以來并沒有什么變化。如圖 11 圖 1 FTP 協(xié)議模型 在一個(gè) FTP 會話中,會存在兩個(gè)獨(dú)立的網(wǎng)絡(luò)連接,一個(gè)是由兩端的 PI 使用的,另一個(gè)是由兩端的 DTP 使用的。 PI 之間的連接一般被控制連接 control connection , DTP 之間的連接被稱數(shù)據(jù)連接 data connection。通常情況下, ftp 服務(wù)器監(jiān)聽端口號 2 1 來等待控制連接建立請求,當(dāng)客戶連接請求到達(dá),會在客戶和 ftp 服務(wù)器之間建立一個(gè)控 制連接。而數(shù)據(jù)連接端口號的選擇依賴于控制連命令,通常是客戶發(fā)送一個(gè)控制消息來指定客戶需要建立一個(gè)數(shù)據(jù)連接來傳輸 ftp 數(shù)據(jù)如下載 /上載一個(gè)文件,顯示當(dāng)前目錄的內(nèi)容等等,都需要建立數(shù)據(jù)連接來傳輸數(shù)據(jù),在該消息中,指定了客戶監(jiān)聽并等待連接的端口號,而服務(wù)器從控制連接收到該命令,向客戶端發(fā)起一個(gè)連接請求到消息中指定的端口號,客戶端收到該請求以后就會建立一個(gè)數(shù)據(jù)連接。連接建立以后,服務(wù)器或客戶就會主動通過該連接發(fā)送數(shù)據(jù)可能是要傳輸?shù)奈募?,也可能是用戶在命令行上發(fā)出的命令的輸出。 一個(gè)完整的 FTP 文件傳輸需要建立兩種類 型的連接,一種為文件傳輸下命令,稱為控制連接,另一種實(shí)現(xiàn)真正的文件傳輸,稱為數(shù)據(jù)連接。 1 控制連接 客戶端希望與 FTP 服務(wù)器建立上傳下載的數(shù)據(jù)傳輸時(shí),它首先向服務(wù)器的TCP 21 端口發(fā)起一個(gè)建立連接的請求, FTP 服務(wù)器接受來自客戶端的請求,完成連接的建立過程,這樣的連接就稱為 FTP 控制連接。 2 數(shù)據(jù)連接 FTP 控制連接建立之后,即可開始傳輸文件,傳輸文件的連接稱為 FTP 數(shù)據(jù)連接。 FTP 數(shù)據(jù)連接就是 FTP 傳輸數(shù)據(jù)的過程,它有兩種傳輸模式:主動傳輸模式( Active)和被動傳輸模式( PASSIVE 圖 1。 圖主動傳輸模式和被動傳輸模式 1 當(dāng) FTP 的控制連接建立,客戶提出目錄列表、傳輸文件時(shí),客戶端發(fā)出 PORT 命令與服務(wù)器進(jìn)行協(xié)商, FTP服務(wù)器使用一個(gè)標(biāo)準(zhǔn)端口 20 作為服務(wù)器端的數(shù)據(jù)連接端口( ftpdata),與客戶建立數(shù)據(jù)連接。端口 20 只用于連接源地址是服務(wù)器端的情況,并且端口 20 沒有監(jiān)聽進(jìn)程來監(jiān)聽客戶請求。 在主動傳輸模式下, FTP 的數(shù)據(jù)連接和控制連接方向相反,由服務(wù)器向客戶端發(fā)起一個(gè)用于數(shù)據(jù)傳輸?shù)倪B接??蛻舳说倪B接端口由服務(wù)器端和客戶端通過協(xié)商確定。主動傳輸模式下, FTP 服務(wù)器使用 20 端口與客戶端的暫時(shí) 端口進(jìn)行連接,并傳輸數(shù)據(jù),客戶端只是處于接收狀態(tài)。 2 當(dāng) FTP 的控制連接建立,客戶提出目錄列表、傳輸文件時(shí),客戶端發(fā)送PASV 命令使服務(wù)器處于被動傳輸模式, FTP 服務(wù)器等待客戶與其聯(lián)系。 FTP 服務(wù)器在非 20 端口的其它數(shù)據(jù)傳輸端口上監(jiān)聽客戶請求。 ? 在被動傳輸模式下, FTP的數(shù)據(jù)連接和控制連接方向一致,由客戶端向服務(wù)器發(fā)起一個(gè)用于數(shù)據(jù)傳輸?shù)倪B接??蛻舳说倪B接端口是發(fā)起該數(shù)據(jù)連接請求時(shí)使用的端口。當(dāng) FTP 客戶在防火墻之外訪問 FTP 服務(wù)器時(shí),需要使用被動傳輸模式。被動傳輸模式下, FTP 服務(wù)器打開一個(gè)暫態(tài)端口等 待客戶端對其進(jìn)行連接,并傳輸數(shù)據(jù),服務(wù)器并不參與數(shù)據(jù)的主動傳輸,只是被動接受。到此為止我們介紹 FTP 工作原理,下將介紹 FTP命令 FTP 的主要操作都是基于各種命令基礎(chǔ)之上的。常用的命令有: USER:指用戶名,它帶一個(gè)參數(shù)格式為 USER username 2) PASS:指明與用戶名對應(yīng)的密碼,帶一個(gè)參數(shù)格式為 PASS password 3) LIST: [pathname] 參數(shù)表示要列文件的目錄徑名,若不帶參數(shù),剛使用當(dāng)前目錄 PORT:指明數(shù)據(jù)連接的端口號,帶六個(gè)參數(shù)格式為 PORT h1, h2, h3, h4,p1, p2 4) QUIT:由于要求傳輸文件時(shí)有登陸的過程,斷開連接到應(yīng)有相應(yīng)的注銷過程這個(gè)命令就是從服務(wù)器上注銷的過程,如果服務(wù)器收到該命令時(shí),沒有文件正在傳達(dá)室輸,剛斷開控制,連接如果有文件正在傳輸,剛控制連接仍然保持,直到收到有關(guān)傳輸結(jié)果的應(yīng)答時(shí),服務(wù)器才斷開連接 RETR:取得文件這條命令是 FTP 事務(wù)是用得最多的命令,在請求下載文件時(shí)都有會用到 STOR:存放文件WYWT:請求服務(wù)器返回系統(tǒng)類型 TYPE:表示文件類型,共有四種,所帶參數(shù)也有四種, A, E , I , L 分別對應(yīng) ASCII, EBCDIC, IMAGB 和 LOCAL 類型格式為TYPE type 9) CMD:請求更改服務(wù)器的當(dāng)前目錄這各命令帶一個(gè)參數(shù),參數(shù)表示要更改的目錄名 DELE:請求刪除服務(wù)器上的文件 MKO:請求在服務(wù)器上新建一個(gè)目錄,這條命令帶一個(gè)參數(shù)指明要建立的目錄名 C 語言是在 70 年代初創(chuàng)建的一種計(jì)算機(jī)語言,它既有匯編語言可以直接訪問機(jī)器硬件的功能,又具有高級語言面向用戶、可讀性好和易于記憶的優(yōu)點(diǎn),因此受到廣大程序員的歡迎。 C 是一種結(jié)構(gòu)化的程序設(shè)計(jì)語言。它由順序、選擇和循環(huán)三種基本結(jié)構(gòu)組成,便于實(shí)現(xiàn)由上到下、逐步細(xì)化的結(jié)構(gòu)化程序設(shè)計(jì)。因此,用 C 編 寫的程序具有容易理解和便于維護(hù)的優(yōu)點(diǎn)。 C 語言的函數(shù)結(jié)構(gòu)有利于程序分割為相對獨(dú)立的功能模塊,為大型軟件實(shí)現(xiàn)模塊化的程序設(shè)計(jì)創(chuàng)造了條件。 C 沒有依賴于硬件的輸和主、輸出語句,因此用它編制的程序有較好的可移植性。 C 語言首先在 Unix 操作系統(tǒng)中得到了應(yīng)用,由于它的這些優(yōu)點(diǎn)很快成為當(dāng)前應(yīng)用最為廣泛的計(jì)算機(jī)語言。 Visual C++ 是 微軟 公司 推 出的 開發(fā) Win32 應(yīng) 用程 ( Windows 95/98/2021/XP/NT)的、面向?qū)ο蟮目梢暬晒ぞ?。它的最大?yōu)點(diǎn)就是提供了功能強(qiáng)大的 MFC 類庫, MFC 是一個(gè)很大的 C++類層次結(jié)構(gòu),其中封裝了大量的類及其函數(shù),很多 Windows 程序所共有的標(biāo)準(zhǔn)內(nèi)容可以由 MFC 的類來提供, MFC 類為這些內(nèi)容提供了用戶接口的標(biāo)準(zhǔn)實(shí)現(xiàn)方法,程序員所要做的就是通過預(yù)定義的接口把具體應(yīng)用程序特有的東西填入這個(gè)輪廓,這將簡化編程工作大大的減少程序員編寫的代碼數(shù)量,使編程工作變得更加輕松容易。 Visual C++提供了一個(gè)集源程序編輯、代碼編譯與調(diào)試于一體的開發(fā)環(huán)境,這個(gè)環(huán)境稱為集成開發(fā)環(huán)境,對于集成開發(fā)環(huán)境的熟悉程度直接影響程序設(shè)計(jì)的效率。開發(fā)環(huán)境是程序員同 Visual C++的交互界面,通過它 程序員可以訪問 C++源代碼編輯器、資源編輯器,使用內(nèi)部調(diào)試器,并且可以創(chuàng)建工程文件。 Microsoft Visual C++是多個(gè)產(chǎn)品的集成。 Visual C++從本質(zhì)上講是一個(gè) indows 應(yīng)用程序。Visual C++有兩個(gè)版本,對于每一個(gè)版本,都有對應(yīng)的文檔)專業(yè)版本,它包括一個(gè)更高級的優(yōu)化編譯器,更廣泛的文檔,并能設(shè)計(jì)基于 DOS 的應(yīng)用程序。 )標(biāo)準(zhǔn)版本,其費(fèi)用較低,沒有那么高級的編譯器,文檔較少,且不能設(shè)計(jì)基于 DOS 的應(yīng)用程序。 MFC( Microsoft Foundation Class)庫是 Microsoft 為利用 VC++開發(fā)的Windows 應(yīng)用程序而提供的應(yīng)用程序框架,在這個(gè)框架的支持下,對于不同的應(yīng)用程序,編程的主要任務(wù)是填寫各自特殊部分的代碼, MFC 由于某種原因 130 多個(gè)類組成,這些類封裝了兩千多個(gè) API 函數(shù)。 MFC 類庫主要包括兩類,一組是一般用途類,它提供了許多有用的抽象類,如 Cfile 類代表文件; CWnd 類是窗口類,這些在 Windows 的編程中有重要的作用。另一類是 OLE 類,這一類專門用于OLE 的編程。 使用 MFC 的優(yōu)點(diǎn)很多,主要的優(yōu)點(diǎn)如下編程,將代碼和數(shù)據(jù)封裝在類中,大大減少了編程的復(fù)雜 性。 過繼承實(shí)現(xiàn)了基本的代碼重用。在 MFC 中定義了大量類,所以可以在編程中通過繼承來使用這些類,另外, MFC 還在這些類中定義了大量的虛函數(shù),也就是說,對于這些函數(shù),不但可以保存它們原有的特性,還可以對這些函數(shù)進(jìn)行修改,使之具有新的特性。 供了大量的工具方便編程。在 MFC 中,可以使用 AppWizard(應(yīng)用程序向?qū)В?,來建立?yīng)用程序的框架,可以使用 ClassWizard 類向?qū)? 在程序中添加類、變量以及在程序中傳遞各種信息。用 ControlWiard(控件向?qū)В﹦?chuàng)建可以在 Windows中注冊的控件等。 助設(shè)計(jì) 良好的類庫通??梢詼p少代碼規(guī)模。 Socket 通訊機(jī)制是一種較原始的通訊機(jī)制,通過 Socket 的數(shù)據(jù)表現(xiàn)出來的形式是原始字節(jié)流信息,通訊雙方只要在此基礎(chǔ)上按照雙方約定方式進(jìn)行數(shù)據(jù)的格式化和解析處理工作,這樣才能完成具體的應(yīng)用,即實(shí)現(xiàn)某種協(xié)議的過程。Socket 可以看成是在兩個(gè)程序間進(jìn)行通訊連接的兩個(gè)端點(diǎn),一個(gè)程序?qū)⒁欢涡畔懭胍粋€(gè) Socket 中,該 Socket 將這段信息發(fā)送給另外一個(gè) Socket,以便使這段信息能傳達(dá)到其他程序中。圖是 Socket 的工作原理圖。 圖 21 Socket 原理圖 Socket 有 兩種主要的工作方式:有連接的和無連接的。有連接方式如流通訊;無連接方式如數(shù)據(jù)包方式。有連接的 Socket 操作就一部電話。它們必須建立一個(gè)連接和一個(gè)呼叫。所有的事情在到達(dá)時(shí)的順序與它們出發(fā)時(shí)的順序一樣。 Inter 上早期實(shí)現(xiàn)傳輸文件,并不是一件容易的事,我們知道 Inter是一個(gè)非常復(fù)雜的計(jì)算機(jī)環(huán)境,有 PC,有工作站,有 MAC,有大型機(jī),據(jù)統(tǒng)計(jì)連接在 Inter 上的計(jì)算機(jī)已有上千萬臺,而這些計(jì)算機(jī)可能運(yùn)行不同的操作系統(tǒng),有運(yùn)行 Unix 的服務(wù)器,也有運(yùn)行 Dos、 Windows 的 PC 機(jī)和運(yùn)行 MOS 的蘋果機(jī)等等,而各種操作系統(tǒng)之間的文件交流問題,需要建立一個(gè)統(tǒng)一的文件傳輸協(xié)議,這就是所謂的 FTP。基于不同的操作系統(tǒng)有不同的 FTP 應(yīng)用程序,而所有這些應(yīng)用程序都遵守同一種協(xié)議,這樣用戶就可以把自己的文件傳送給別人,或者從其它的用戶環(huán)境中獲得文件。 與大多數(shù) Inter 服務(wù)一樣, FTP 也是一個(gè)客戶機(jī) /服務(wù)器系統(tǒng)。用戶通過一個(gè)支持 FTP 協(xié)議的客戶機(jī)程序,連接到在遠(yuǎn)程主機(jī)上的 FTP 服務(wù)器程序。用戶通過客戶機(jī)程序向服務(wù)器程序發(fā)出命令,服務(wù)器程序執(zhí)行用戶所發(fā)出的命令,并將執(zhí)行的結(jié)果返回到客戶機(jī)。比如說,用戶發(fā)出 一條命令,要求服務(wù)器向用戶傳送某一個(gè)文件的一份拷貝,服務(wù)器會響應(yīng)這條命令,將指定文件送至用戶的機(jī)器上 FTP 服務(wù)器的使用十分廣泛,在網(wǎng)絡(luò)上隨處可見到FTP 服務(wù)器。主要用于存放文件,讓網(wǎng)絡(luò)中的計(jì)算機(jī)可以共享這些文件。因此,F(xiàn)TP 服務(wù)器要有很大的存貯空間,免費(fèi)的 FTP 空間總是有限的,所以我們想,能不能將 FTP 服務(wù)器建在自己的計(jì)算機(jī)上呢?隨著網(wǎng)絡(luò)技術(shù)的不斷成熟,寬帶業(yè)務(wù)的不斷推進(jìn),我們用動態(tài) IP 將 Web 主機(jī)、 FTP 服務(wù)器和 MAIL 服務(wù)器搬回家,已經(jīng)不再是夢想。通常服務(wù)器端是遠(yuǎn)程端點(diǎn),用戶可以通過 Inter 網(wǎng)絡(luò) 連接到遠(yuǎn)程的 FTP 服務(wù)器站點(diǎn)。 應(yīng)解決的問題 選擇好開發(fā)工具,設(shè)想好程序?qū)?
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1