




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、大作業(yè)解題思路實(shí)現(xiàn)一個FTP服務(wù)系統(tǒng)具體:基于客戶/服務(wù)器交互模式,采用TCP/IP通信協(xié)議,實(shí)現(xiàn)以支持遠(yuǎn)程文件傳輸?shù)目蛻?服務(wù)器軟件,支持文件的上傳和下載。其中客戶端軟件命名為myftp,服務(wù)器軟件命名為實(shí)驗題目2服務(wù)器啟動方式:執(zhí)行 IP地址 port 啟動FTP服務(wù)其中IP地址為可選項,如不提供服務(wù)器IP地址,F(xiàn)TP服務(wù)將自動綁定到本地網(wǎng)絡(luò)的IP。用戶認(rèn)證與權(quán)限管理:為FTP客戶提供基于用戶名/密碼認(rèn)證的服務(wù)模式,只有授權(quán)用戶才可以對指定文件進(jìn)行讀寫操作。用戶只有在具備寫權(quán)限操作的目錄上才能上傳文件。(可直接集成linux服務(wù)器系統(tǒng)的用戶管理)并行執(zhí)行功能:要求服務(wù)器采用多進(jìn)程/線程技術(shù)
2、響應(yīng)客戶請求。當(dāng)客戶通過身份驗證后,服務(wù)器將創(chuàng)建一個新的進(jìn)程/線程來響應(yīng)用戶請求,提供服務(wù)。服務(wù)傳輸模式:支持二進(jìn)制(默認(rèn))和ASCII傳輸模式。用戶可通過執(zhí)行binary/ascii命令切換傳輸模式。實(shí)驗要求3服務(wù)器服務(wù)器支持的客戶文件操作:登錄成功后,客戶可在服務(wù)器執(zhí)行以下操作:創(chuàng)建/刪除目錄(mkdir/rmdir)、顯示當(dāng)前路徑(pwd)、切換目錄(cd)、查看目錄下的所有文件(ls)、上傳單個/多個文件(put/mput)、下載單個/多個文件(get/mget)。站點(diǎn)計數(shù)與用戶管理功能:統(tǒng)計服務(wù)器站點(diǎn)的當(dāng)前活動用戶數(shù)及自運(yùn)行以來的訪客總數(shù)。系統(tǒng)管理員可在服務(wù)器軟件終端端窗口執(zhí)行以下命
3、令:count current:當(dāng)前活動用戶數(shù)count all:顯示系統(tǒng)訪客總數(shù)list:顯示當(dāng)前在線的所有用戶的用戶名kill username:強(qiáng)制刪除某個用戶。quit:關(guān)閉ftp服務(wù)器軟件。實(shí)驗要求(續(xù))4服務(wù)器其他功能:對用戶錯誤輸入提供容錯保護(hù),即當(dāng)用戶輸入錯誤命令時,需向客戶端返回出錯提示信息??蛇x功能(加分):在服務(wù)器端為訪問頻率最高的文件建立緩沖區(qū)(可采用共享內(nèi)存技術(shù)),以便提高服務(wù)端的性能。實(shí)現(xiàn)斷點(diǎn)續(xù)傳功能。實(shí)驗要求(續(xù))5客戶端登錄管理:客戶端在shell中輸入:my登錄。若通過身份驗證,服務(wù)器將向客戶回顯you are client #.(#為第幾位用戶)并顯示ftp
4、命令輸入提示符myftp;否則顯示username doesnt exist or password is error!。文件操作命令。在客戶端執(zhí)行基本文件操作:創(chuàng)建/刪除目錄(lmkdir/lrmdir)、顯示當(dāng)前路徑(lpwd)、切換目錄(lcd)、查看當(dāng)前目錄下的所有文件(dir)、上傳單個/多個文件(put/mput)、下載單個/多個文件(get/mget)。退出系統(tǒng)。用戶執(zhí)行“quit”斷開連接,結(jié)束當(dāng)前會話實(shí)驗要求(續(xù))6文件傳輸TCP/IP協(xié)議進(jìn)行數(shù)據(jù)傳輸,使用Socket套接字對TCP/IP進(jìn)行了封裝,可以使用特定的參數(shù)調(diào)用socket??蛻舳伺c服務(wù)器端的通信問題包括兩個方面:
5、文件的傳輸和命令的傳輸,這兩種傳輸可以通過一個tcp連接進(jìn)行,這樣在傳輸文件時,用戶不能向服務(wù)器發(fā)送命令,同時需要在命令流中識別文件傳輸?shù)拈_始與結(jié)束的位置;也可以用兩個tcp連接,一個用于命令傳輸,一個用于文件傳輸。解題思路7文件的格式問題ftp傳輸?shù)拇疟P文件一般存在兩種模式:二進(jìn)制和ASCII二進(jìn)制文件:如可執(zhí)行程序,位圖文件,該類型文件按原始內(nèi)容傳輸即可。ASCII文件:操作系統(tǒng)讀取時每次都是讀取一行,Windows中為rn,在linux中為n,所以對ascii格式的文件傳輸需要考慮換行符的轉(zhuǎn)換問題,因為客戶端的操作系統(tǒng)和服務(wù)器的操作系統(tǒng)可能不同,在ftp中使用ascii傳輸模式傳輸asc
6、ii文件。解題思路(續(xù))8斷點(diǎn)續(xù)傳問題下載文件時,客戶端可以告訴服務(wù)器要下載的文件名及相應(yīng)的文件偏移量(初始為0)這樣服務(wù)器可以從文件偏移量處開始傳輸文件,在上傳文件的相應(yīng)文件偏移量由服務(wù)器提供給客戶端下載文件的斷點(diǎn)信息在客戶端保存,上傳文件的斷點(diǎn)信息在服務(wù)器端保存。解題思路(續(xù))9用戶管理問題用戶在登陸ftp時需要提供用戶名和密碼,當(dāng)然ftp服務(wù)器也可以允許匿名用戶的登陸。對于不同的目錄,不同的用戶id應(yīng)該具有不同的權(quán)限,這些權(quán)限的設(shè)定可以參考linux內(nèi)核對文件系統(tǒng)的訪問控制。思路a)在服務(wù)器端維護(hù)一個用戶與目錄的關(guān)聯(lián)矩陣,x/y坐標(biāo)軸分別由用戶id和目錄或文件標(biāo)定,(x,y)項中存儲訪問
7、權(quán)限(r/w),當(dāng)某個用戶要對某個目錄或文件進(jìn)行操作時,服務(wù)進(jìn)程首先要查找關(guān)聯(lián)矩陣以確認(rèn)該用戶是否具有相應(yīng)權(quán)限;解題思路(續(xù))10 思路b)由于在linux內(nèi)核中實(shí)現(xiàn)了用戶對文件系統(tǒng)的訪問控制(基于用戶id和用戶組id),因此可以考慮把ftp用戶id的概念等同于linux系統(tǒng)的用戶id的概念,把為某個ftp用戶服務(wù)的進(jìn)程的所屬用戶id和所屬組id設(shè)定為該用戶的用戶id和組id,這樣在當(dāng)該進(jìn)程要執(zhí)行任何訪問文件系統(tǒng)的操作時,linux內(nèi)核會檢測權(quán)限問題。解題思路(續(xù))11多進(jìn)程和多線程問題多線程可以共享同一個用戶空間,這樣可以創(chuàng)建一個全局的文件緩沖區(qū),在這個文件緩沖區(qū)中存放有經(jīng)常被訪問的文件信息,這樣可以提高服務(wù)器端的性能,但是在使用多線程編程時需要程序員自己控制對共享資源的并發(fā)控制。在多進(jìn)程編程中,進(jìn)程間可以通過傳統(tǒng)的IPC(管道,共享內(nèi)存等)機(jī)制進(jìn)行通信,這樣也可以維護(hù)一個全局的文件緩沖區(qū),同時使用多進(jìn)程編程可以方便的使用linux內(nèi)核機(jī)制來解決用戶管理問題具體采用哪種方式同學(xué)們可以多加權(quán)衡,多加思考解題思路(續(xù))12作業(yè)提交要求將客戶端源碼和服
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年海洋油氣開采模塊項目發(fā)展計劃
- 夏季城市形態(tài)與公園釋放能力耦合機(jī)制研究
- 2025年高性能傳輸線纜項目發(fā)展計劃
- 消防與給排水監(jiān)理細(xì)則
- 湘藝版音樂九年級上冊第四單元《鼓的語言》教案
- 在線教育重塑學(xué)習(xí)體驗的新模式
- 教育機(jī)器人技術(shù)的專利布局與戰(zhàn)略
- 教育金融與基金市場的關(guān)系及其影響
- 基于知識經(jīng)濟(jì)的醫(yī)藥冷鏈人才能力培育及路徑選擇
- 教育科技的發(fā)展與教師素質(zhì)的現(xiàn)代化提升
- (高清版)DG∕TJ 08-7-2021 建筑工程交通設(shè)計及停車庫(場)設(shè)置標(biāo)準(zhǔn)
- DB44-T 2604-2025 城鎮(zhèn)污水處理能源消耗限額
- 3-6歲兒童學(xué)習(xí)與發(fā)展指南
- 2025-2030中國鐵路牽引電動機(jī)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國手機(jī)游戲棋牌行業(yè)市場深度調(diào)研及競爭格局與投資前景研究報告
- 社區(qū)文化品牌塑造與居民認(rèn)同的動態(tài)構(gòu)建-全面剖析
- (高清版)DB510100∕T 082-2012 成都市商務(wù)寫字樓等級劃分
- 股東內(nèi)部持股協(xié)議書
- 礦山企業(yè)管理規(guī)章制度匯編
- 2025-2030中國電力設(shè)備檢測行業(yè)市場深度調(diào)研及發(fā)展前景與投融資戰(zhàn)略規(guī)劃研究報告
- 2025年煤礦頂板的考試題及答案
評論
0/150
提交評論