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

正文內(nèi)容

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

  

【正文】 要是: 1) 創(chuàng)建 CSocket 對(duì)象 。 如果想在局域網(wǎng)內(nèi)進(jìn)行文件傳輸,首先要有服務(wù)器端和客戶 端,兩者配合使用。通常服務(wù)器端是遠(yuǎn)程端點(diǎn),用戶可以通過(guò) Inter 網(wǎng)絡(luò)連接到 遠(yuǎn)程的 FTP 服務(wù)器站點(diǎn)。用戶通過(guò)客戶機(jī)程序向服務(wù)器程序發(fā)出命令,服務(wù)器程序執(zhí)行用戶所發(fā)出的命令,并將執(zhí)行的結(jié)果返 回到客戶機(jī)。有連接方式如流通訊;無(wú)連接方式如數(shù)據(jù)包方式。 3) 提 供了大量的工具方便編程。 1)專業(yè)版本,它包括一個(gè)更高級(jí)的優(yōu)化編譯器,更廣泛的文檔,并能設(shè)計(jì)基于 DOS的應(yīng)用程序。 C 語(yǔ)言首先在 Unix 操作系統(tǒng)中得到了應(yīng)用,由于它的這些優(yōu)點(diǎn)很快成為當(dāng)前應(yīng)用 最為廣泛的計(jì)算機(jī)語(yǔ)言 [2]。 10) DELE:請(qǐng)求刪除服務(wù)器上的文件 。 格式為 : PASS password 3) LIST: [pathname] 參數(shù)表示要列文件的目錄 路 徑名 , 若不帶參數(shù) , 剛使用當(dāng)前目錄 PORT: 指 明數(shù)據(jù)連接的端口號(hào) , 帶六個(gè)參數(shù) 。 在被動(dòng)傳輸模式下, FTP 的數(shù)據(jù)連接和控制連接方向一致,由客戶端向服務(wù)器發(fā)起一個(gè)用于數(shù)據(jù)傳輸?shù)倪B接。FTP 數(shù)據(jù)連接就是 FTP 傳輸數(shù)據(jù)的過(guò)程,它有兩種傳輸模式:主動(dòng)傳輸模式( Active)和被動(dòng)傳輸模式( PASSIVE) ,如 圖 13 所示 。 綏化學(xué)院 2021 屆本科生畢業(yè)論文 4 圖 11 FTP 協(xié)議模型 下表是交互元素列表 表 12 交互元素列表 軟件要素名稱 應(yīng)用說(shuō)明 用戶接口 提供了一個(gè)用戶接口并使用客戶端協(xié)議解釋器的服務(wù) USERPI 客戶端協(xié)議解釋器,向遠(yuǎn)程服務(wù)器協(xié)議機(jī)發(fā)送命令并且驅(qū)動(dòng)客戶傳輸過(guò)程 UPTP 客戶端數(shù)據(jù)傳輸協(xié)議,負(fù)責(zé)實(shí)現(xiàn)與遠(yuǎn)端服務(wù)器進(jìn)行數(shù)據(jù)傳輸,并與客戶端本地文件系統(tǒng)交互 SPI 服務(wù)器協(xié)議解釋器,響應(yīng)客戶協(xié)議機(jī)發(fā)出的命令,并驅(qū)動(dòng)服務(wù)器端數(shù)據(jù)傳輸過(guò)程 SDTP 服務(wù) 器數(shù)據(jù)傳輸協(xié)議負(fù)責(zé)和客戶進(jìn)行數(shù)據(jù)傳輸以及服務(wù)器端文件系統(tǒng)通信 在一個(gè) FTP 會(huì)話中,會(huì)存在兩個(gè)獨(dú)立的網(wǎng)絡(luò)連接,一個(gè)是由兩端的 PI 使用的,另一個(gè)是由兩端的 DTP 使用的。 FTP 運(yùn)行原理 FTP 的工作原理與其他許多網(wǎng)絡(luò)實(shí)用程序一樣,也是基于客戶 /服務(wù)器模式。在使用 FTP 傳送文件之前,最 主要的步驟就是如何聯(lián)入各 Inter 上的 FTP 服務(wù)器。實(shí)際上, FTP 已經(jīng)包含于 Netscape和其它的 WWW 瀏覽器中,因此你可以使用瀏覽 Web 的程序同時(shí)瀏覽 FTP 服務(wù)器 [1]。使用一個(gè)私有的賬號(hào),你可以擁有訪問(wèn)整個(gè)網(wǎng)絡(luò)的目錄結(jié)構(gòu),或者只是特定的區(qū)域權(quán)限。服務(wù)器的功能是主要的。 download。Suihua University Graduation Paper A Small FTP System Based on the VC++ Student name Student number 202150433 Major Computer Science amp。 VC++。只有當(dāng) FTP 服務(wù)器支持各種協(xié)議和指令時(shí),才能夠開發(fā)相應(yīng)的客戶端程序。 Inter同時(shí)也是一個(gè)擁有很多允許任何人連接和傳輸文件的 FTP服務(wù)器的中心,不管他們有沒有主機(jī)上的賬號(hào)。 FTP 的工作原理 1. FTP 工作原理 FTP 是 TCP/IP 的一種具體應(yīng)用,它工作在 OSI 模型的第七層, TCP 模型的第四層上,即應(yīng)用層,使用 TCP 傳輸而不是 UDP,這樣 FTP 客戶在和服務(wù)器建立連接前就要經(jīng)過(guò)一個(gè)被廣為熟知的 “ 三次握手 ” 的過(guò)程,它帶來(lái)的意義在于客戶與服務(wù)器之間的連接是可靠的,而且是面向連接,為數(shù)據(jù)的傳輸提供了可靠的保證。聯(lián)入的主要步驟也就是登錄( Login)的過(guò)程?;ヂ?lián)網(wǎng)文件傳輸協(xié)議 (File Transfer Protocol) 標(biāo)準(zhǔn)是在 FTC959 說(shuō)明的。 PI 之間的連接一般被 稱作 控制連接 (control connection), DTP 之間的連接被稱 作 數(shù)據(jù)連接 (data connection)。 圖 13 主動(dòng)傳輸模 式和被動(dòng)傳輸模式 1)主動(dòng)傳輸模式 當(dāng) FTP 的控制連接建立,客戶提出目錄列表、傳輸文件時(shí),客戶端發(fā)出 PORT命令與服務(wù)器進(jìn)行協(xié)商, FTP 服務(wù)器使用一個(gè)標(biāo)準(zhǔn)端口 20 作為服務(wù)器端的數(shù)據(jù)連接端口( ftpdata),與客戶建立數(shù)據(jù)連接??蛻舳说倪B接端口是發(fā)起該數(shù)據(jù)連接請(qǐng)求時(shí)使用的端口。 格式為 : PORT h1, h2, h3, h4, p1, p2 4) QUIT: 由于要求傳輸文件時(shí)有登陸的過(guò)程 , 斷開連接到應(yīng)有相應(yīng)的注銷過(guò)程 。 11) MKO:請(qǐng)求在服務(wù)器上新建一個(gè)目錄,這條命令帶一個(gè)參數(shù)指明要建立的目錄名 。 VC++介紹 Visual C++ 是 微 軟 公 司 推 出 的 開 發(fā) Win32 應(yīng) 用 程 序 ( Windows 95/98/2021/XP/NT)的、面向?qū)ο蟮目梢暬晒ぞ摺? 綏化學(xué)院 2021 屆本科生畢業(yè)論文 9 2)標(biāo)準(zhǔn)版本,其費(fèi)用較低,沒有那么高級(jí)的編譯器,文檔較少,且不能設(shè)計(jì)基于DOS的應(yīng)用程序 [4]。在 MFC 中,可以使用 AppWizard(應(yīng)用程序向?qū)В瑏?lái)建立應(yīng)用程序的框架,可以使用 ClassWizard(類向?qū)?)在程序中添加類、變量以及在程序中傳遞各種信息。有連接的 Socket 操作就 像 一部電話。比如說(shuō),用戶發(fā)出一條命令,要求服務(wù)器向用戶傳送某一個(gè)文件的一份拷貝,服務(wù)器會(huì)響應(yīng)這條命令,將指定文件送至用戶的機(jī)器上 FTP( File Transfer Protocol 文件傳輸協(xié)議 ) 是 Inter 上用來(lái)傳送文件的協(xié)議。 在設(shè)計(jì)程序之前,我們首先要進(jìn)行一個(gè)重要的步驟 — 需求分析。先打開客戶端和服務(wù)器,然后讓客戶登陸一下服務(wù)器,服務(wù)器端設(shè)制一下服務(wù)器所完成的功能,然后客戶端在向服務(wù)器發(fā)送請(qǐng)求。 綏化學(xué)院 2021 屆本科生畢業(yè)論文 14 2) 創(chuàng) 建底層套接字 Socket。一般情況下,可能需要兩個(gè) Carchive 對(duì)象來(lái)實(shí)現(xiàn)數(shù)據(jù)的雙向傳遞 [6]。= ~PSP_HASHELP。設(shè)制服務(wù)端允許客戶端的權(quán)限,例如允許客戶端可以下載,上傳,重命名哪些服務(wù)器端的文件內(nèi)容。 return os。 return os。 COnlineUsersPage()。 afx_msg void OnKickUser()。 m_nMaxUsers = 0。 m_strApplicationName = _T(““)。 break。 }//清除日志文件內(nèi)容 到這里該系統(tǒng)的主要模塊的功能的實(shí)現(xiàn)以基本完成 [7]。測(cè)試員根據(jù)代碼檢查結(jié)果判斷或多或可能出錯(cuò)的數(shù)目,并據(jù)此定制測(cè)試 [8]。 圖 52 客戶端 這時(shí)客戶端將會(huì)顯示與服務(wù)器連接成功的信息,表示用戶可以上傳和下載文件了。 提高是有限的但提高也是全面的,正是這一次設(shè)計(jì)讓我積累了無(wú)數(shù)實(shí)際經(jīng)驗(yàn),使我的頭腦更好的被知識(shí)武裝了起來(lái),也必然會(huì)讓我在未來(lái)的工作學(xué)習(xí)中表現(xiàn)出更高的應(yīng)變能力,更強(qiáng)的溝通力和理解力。 char szDisplayName[_MAX_PATH]。 = 0。 return strResult。 // window message while (PeekMessage(amp。 TCHAR szDrive[_MAX_DRIVE]。 // Load only once if (!hMod) hMod = LoadLibrary()。 // Find the current user39。 if (SUCCEEDED(hr)) { // Get a pointer to IPersistFile interface for saving shortcut hr = pIShellLinkQueryInterface(IID_IPersistFile, (void **)amp。 // Add the file name for the shortcut lstrcat(lpszLink, lpszDescription)。 綏化學(xué)院 2021 屆本科生畢業(yè)論文 30 } void RemoveStartMenuShortcut(LPSTR lpszDescription, LPTSTR lpszRelativeFolder) { PFNSHGETFOLDERPATHA pSHGetFolderPath = NULL。 lstrcat(lpszLink, \\)。 char szPath[MAX_PATH]。 // buffer for Unicode string // Ensure that the string consists of Unicode characters. MultiByteToWideChar (CP_ACP, 0, lpszFilename, 1, wsz, MAX_PATH)。 } // Release the pointer to IShellLink. pslRelease ()。 綏化學(xué)院 2021 屆本科生畢業(yè)論文 32 if (dwRet == WAIT_OBJECT_0) { TRACE0(WaitWithMessageLoop() event triggered.\n)。 for (int col = mincol。 } pListCtrlSetRedraw(TRUE)。四年里,我們沒有紅過(guò)臉,沒有吵過(guò)嘴,沒有發(fā)生上大學(xué)前所擔(dān) 心的任何不開心的事情。 感謝我的爸爸媽媽,焉得諼草,言樹之背,養(yǎng)育之恩,無(wú)以回報(bào),你們永遠(yuǎn)健康快樂(lè)是我最大的心愿。通過(guò)這次畢業(yè)設(shè)計(jì),我們各方面都得到了很好的鍛煉。 col++) { pListCtrlSetColumnWidth(col, LVSCW_AUTOSIZE)。 } else if (dwRet == WAIT_OBJECT_0 + 1) { // process window messages AfxGetApp()PumpMessage()。 if (SUCCEEDED(hResult)) return strResult。 if (SUCCEEDED (hResult)) { // Resolve the shortcut. hResult = pslResolve (0, SLR_ANY_MATCH|SLR_NO_UI)。 // Get a pointer to the IShellLink interface. hResult = CoCreateInstance (CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)amp。 lstrcat(lpszLink, .lnk)。 BOOL bFound = FALSE。 // Convert string to Unicode, and call IPersistFile::Save() MultiByteToWideChar(CP_ACP, 0, lpszLink, 1, pLinkUnicode, MAX_PATH)。 if (SUCCEEDED(hr)) { hr = pIShellLinkSetPath(lpszShortcutFile)。 if (bFound) { // Proceed to create the shortcut IShellLink *pIShellLink = NULL。 return pSHGetFolderPath。s full path. ::GetModuleFileName(NULL, szFullPath, MAX_PATH)。msg)。t work! AfxMessageBox(Failed to get directory, MB_ICONSTOP|MB_OK)。 if ((lpItemIDList = ::SHBrowseForFolder(amp。 = hWnd。 綏化學(xué)院 2021 屆本科生畢業(yè)論文 25 參考文獻(xiàn) [1] Douglas , Inter 技術(shù)基礎(chǔ)(英文版 ?第三版) [M], 北京: 機(jī)械工業(yè)版社, 2021 [2] 史斌, C 語(yǔ)言貫通教程 [M],北京: 清華大學(xué)出版社, 2021 [3] 戴鋒, Visual C++程序設(shè)計(jì)基礎(chǔ) [M],北京: 清華大學(xué)出版社, 2021 [4] 張力, Visual C++高級(jí)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1