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

正文內(nèi)容

畢業(yè)設計-c小型ftp服務器系統(tǒng)(編輯修改稿)

2025-01-08 20:13 本頁面
 

【文章內(nèi)容簡介】 要實現(xiàn)的大體功能后,我們就要分析該程序所需的條件,對該程序中將要遇到的問題做一下準備工作,以便于以后設計的順利進行。 根據(jù)我們想要在局域網(wǎng)內(nèi)進行文件傳輸?shù)囊?,首先,要選擇在局域網(wǎng)內(nèi)通訊;,因為本程序要實現(xiàn)的是 FTP 服務器功能,所以我們要建立服務器但是為了測試服務器是否能夠有運行,我又配置了一個客戶端。 功能要求 本程序是一個在局域網(wǎng)內(nèi)實現(xiàn)的小型 FTP 文件傳輸。主要實現(xiàn)的是 FTP 服務器端功能,包括: FTP 服務日志,在線用戶的 管理,統(tǒng)計客戶端信息還有客戶端上傳、下載、選擇數(shù)據(jù)傳輸模式、改變目錄等,并給出相應的提示。 本系統(tǒng)的實現(xiàn)采用的工具為 Visual C++ 。 41 服務器用戶界面 主要功能與實現(xiàn) 用 Cocket 類編制的服務器端的程序,其過程如下,其過程主要是: CSocket 對象 創(chuàng)建底層套接字 Socket 調(diào)用 Listen,開始監(jiān)聽從客戶端發(fā)來的訪問請求。 如果收到請求,調(diào)用 CsyncSocket:: Accept 函數(shù)進行接收外理。 立 CocketFile 對象,并且使該對象與 Cocket 對象具 備一定的聯(lián)系 建立 Carchive 對象,以便實現(xiàn)卸裝(接收)數(shù)據(jù)和存儲(發(fā)送)數(shù)據(jù)的目的地址。當然,該 Carchive 對象應該與前面的 CocketFile 對象建立聯(lián)系 7)使用 Carchive 對象在客戶和服務器 Socket 之間傳遞數(shù)據(jù),從而實現(xiàn)服務器 Socket 和客戶機 Socket 之間的通信。值得注意的是,一個給定的 Carchive對象只能在單一的方向上傳遞數(shù)據(jù):或者接收,或者發(fā)送。一般情況下,可能需要兩個 Carchive 對象來實現(xiàn)數(shù)據(jù)的雙向傳遞。 圖 42 用戶帳戶向?qū)Т翱? 通過這個窗口你可以創(chuàng)建自己的用 戶名以及密碼用以登陸 FTP 服務器,該部分功能實現(xiàn)代碼如下: CWizardPage1:: CWizardPage1 : CPropertyPageEx CWizardPage1:: IDD, 0, IDS_HEADERTITLE1, NULL m_strAccountName _T ““ 。 amp。 ~PSP_HASHELP。 CWizardPage1:: ~CWizardPage1 void CWizardPage1:: DoDataExchange CDataExchange* pDX CPropertyPageEx:: DoDataExchange pDX 。 DDX_Text pDX, IDC_ACCOUNTNAME, m_strAccountName 。 BEGIN_MESSAGE_MAP CWizardPage1, CPropertyPageEx END_MESSAGE_MAP 2.用戶帳戶功能:這一功能主要是服務器端添加,修改和刪除用戶帳戶,設置目錄權(quán)限(使用添加按鈕以添加一個新目錄,其中選定的用戶帳戶已具有訪問權(quán)限,每小 組目錄您可以設定不同的權(quán)限,例如你可以給所有權(quán)限到 C : \下載,但限制的權(quán)限為 C : \下載 \申請時,沒有權(quán)限指定的目錄,在這個目錄中它會自動阻止用戶要求上傳任何子目錄)。目錄屬性,當您添加的編輯目錄的用戶帳戶,目錄屬性對話框?qū)@示物理目錄(物理目錄是 39。真正 39。的路徑文件夾的名稱)。虛擬目錄(虛擬目錄是一個物理文件夾的別名,當用戶連接到您的 FTP服務器,它將看到這個目錄名而不是真正的物理名稱)。設制服務端允許客戶端的權(quán)限,例如允許客戶端可以下載,上傳,重命名哪些服務器端的文件內(nèi)容。例如用戶 123 將: E: \盤設為許可目錄,客戶端就可以隨時下載,上傳 E: \盤里面的內(nèi)容,如圖 43 所示。 圖 43 用戶帳戶窗口 這一功能實現(xiàn),代碼如下 void CUserAccountsDlg:: OnDblclkDirlist NMHDR* pNMHDR, LRESULT* pResult OnEditDir 。 *pResult 0。 friend CLogFileamp。 setlevel CLogFileamp。 os, int level m_nCurrentLevel level。 return os。 friend CLogFileamp。 error_lvl CLogFileamp。 os 1。 return os。 friend CLogFileamp。 warning_lvl CLogFileamp。 os 2。 return os。 friend CLogFileamp。 trace_lvl CLogFileamp。 os 3。 return os。 圖 44 服務器日志窗口 2.在線用戶模塊的功能:通過服務器來查看在線客戶端的用戶名,用戶 IP地址,用戶登陸時間等信息,如圖 45 所示。 圖 45 在線用戶窗口 該模塊功能實現(xiàn)代碼如下: class COnlineUsersPage : public CDialog DECLARE_DYNCREATE COnlineUsersPage public: void RemoveUser DWORD nThreadID 。 void AddUser DWORD nThreadID , LPCTSTR lpszName , LPCTSTR lpszAddress 。 COnlineUsersPage 。 ~COnlineUsersPage 。 enum IDD IDD_PROPPAGE_ONLINE 。 CListCtrl m_OnlineUsers。 protected: virtual void DoDataExchange CDataExchange* pDX 。 // DDX/DDV support protected: afx_msg void OnSize UINT nType, int cx, int cy 。 virtual BOOL OnInitDialog 。 afx_msg void OnContextMenu CWnd* pWnd, CPoint point 。 afx_msg void OnKickUser 。 afx_msg void OnEditUserAccount 。 afx_msg void OnBlockIp 。 DECLARE_MESSAGE_MAP 。 // Microsoft Visual C++ will insert additional declarations immediately before the previous line. endif 3.配置模塊的功能:在這里,可以配置 FTP 服務器所有的設置。默認服務器端口為 21,可以同時連接最多用戶數(shù),客戶端與服務器端連接時間(當客戶端已閑置的具體時間,它會自動斷開),歡迎信息(當客戶端連接到服務器時將會顯示該文本) ,再見訊息(文本將顯示當一個客戶端從服務器斷開時)其他設置, FTP 服務器在 Windows 下啟動,啟動最小化在系統(tǒng)盤 ,并在啟動時自動激活服務器。用戶還可以將用戶各種信息都記錄在服務器日志里,如圖 46 所示。 圖 46 配置界面 可通過該圖可以看出來,服務器的一些配置功能的實現(xiàn)代碼如下: CConfigurationPage :: CConfigurationPage : CDialogResize CConfigurationPage:: IDD m_nPort 0。 m_nUsers 0。 m_strGoodbyeMessage _T ““ 。 m_bStartInTray FALSE。 m_nTimeout 0。 m_strWeleMessage _T ““ 。 m_bLaunchOnStartup FALSE。 m_bAutoActivate FALSE。 m_nLogLevel 0。 m_strApplicationName _T ““ 。 m_bModified FALSE。 CConfigurationPage:: ~CConfigurationPage BOOL CConfigurationPage:: OnInitDialog CDialogResize:: OnInitDialog 。 InitResizing FALSE, FALSE, WS_CLIPCHILDREN 。 UpdateDialogControls this, FALSE 。 return TRUE。 //nInitDialog void CConfigurationPage:: OnView int ExecStatus UINT ShellExecute m_hWnd , “ open ”, “ ”, LPCTSTR thleName, 0, SW_SHOW 。 switch ExecStatus case 0: MessageBox “ Systeem is out of Memory”,” ShellExecute Error”, MB_OK | MB_ICONEXCLAMATION 。 break。 case 2: MessageBox “ 39。39。 is not found !”,” ShellExecute Error”, MB_OK | MB_ICONEXCLAMATION 。 break。 default: if ExecStatus 32 MessageBox “Problem with executing of ”,” ShellExecute Error”, MB_OK | MB_ICONEXCLAMATION 。 break。 //查看日志內(nèi)容 void CConfigurationPage:: OnClear thr 。 //清除日志文件內(nèi)容 到這里該系統(tǒng)的主要模塊的功能的實現(xiàn)以基本完成 [7]。 第 5 章 系統(tǒng)測試 系統(tǒng)可能出現(xiàn)的問題與不足 經(jīng)過幾次的軟件測試發(fā)現(xiàn)系統(tǒng)存在著一些不足之處。具體為: 1 當客戶端與服務器建立連接時,有時連接較慢。 2 當用戶向服務器上傳文件時可能會傳輸中斷,服務器仍然存在一些不穩(wěn)定的數(shù)據(jù)連接。 采用的測試類型 1)黑盒測試 在黑盒測試中,軟件測試員只要知道軟件要做什么――而無法看到盒子里的軟件是如何運行的。只要進行一些輸入,就能得到某種輸出結(jié)果。他不知道軟件如何運行,為什么會這樣,只知道程序做了什么。 2)白盒測試 在白盒測試(有時稱為透明盒測試
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1