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

正文內容

ftp服務與客戶端系統(tǒng)設計—免費畢業(yè)設計論文-資料下載頁

2025-11-14 16:20本頁面

【導讀】摘要FTP為一種主流的網(wǎng)絡文件傳輸協(xié)議。設計和實現(xiàn)FTP服務與客戶。端,有助于深入理解網(wǎng)絡編程和FTP協(xié)議,使理論知識和實踐結合起來。其主要設計工作為:。用戶模塊,程序設置模塊,統(tǒng)計模塊,安全模塊。服務器日志模塊負責顯示各種。試和應用,驗證了本文設計的正確性。第4章FTP客戶端模塊設計.

  

【正文】 向統(tǒng)計信息顯示 List控件中 名稱 列元素添加第 2個 下載文件總量 值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))InsertItem(2, 下載文件總量 )==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計信息顯示 List控件中 值 列元素添加第 2個初始 0值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))SetItemText(2, 1, 0)==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計信息顯示 List控件中 名稱 列元素添加第 3個 上傳文件總量 值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))InsertItem(3, 上傳文件總量 )==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計信息顯示 List控件中 值 列元素添加第 3個初始 0值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))SetItemText(3, 1, 0)==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計信息顯示 List控件中 名稱 列元素添加第 4個 下載文件失敗數(shù) 值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))InsertItem(4, 下載文件失敗數(shù) )==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計信息顯示 List控件中 值 列元素添加第 4個初始 0值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))SetItemText(4, 1, 0)==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計信息顯示 List控 件中 名稱 列元素添加第 5個 上傳文件失敗數(shù) 值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))InsertItem(5, 上傳文件失敗數(shù) )==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計信息顯示 List控件中 值 列元素添加第 5個初始 0值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))SetItemText(5, 1, 0)==1) AfxMessageBox(添加 元素失敗 )。 //向統(tǒng)計信息顯示 List控件中 名稱 列元素添加第 6個 總上傳文件大小 值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))InsertItem(6, 總上傳文件大小 )==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計信息顯示 List控件中 值 列元素添加第 6個初始 0值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))SetItemText(6, 1, 0)==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計信息顯示 List控件中 名稱 列元素添加第 7個 總下載文件大小 值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))InsertItem(7, 總下載文件大小 )==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計信息顯示 List控件中 值 列元素添加第 7個初始 0值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))SetItemText(7, 1, 0)==1) AfxMessageBox(添加元素失敗 )。 DWORD dwStyle = ((CListCtrl*)GetDlgItem(IDC_STATISTICS))GetExtendedStyle()。 dwStyle |= LVS_EX_FULLROWSELECT。 ((CListCtrl*)GetDlgItem(IDC_STATISTICS))SetExtendedStyle(dwStyle)。 AutoSizeColumns(amp。Statistics_info_Display)。 return TRUE。 } 25 2. Statistics_info_setValue(int nType, int nValue)函數(shù)。當服務器的信息發(fā)生改變時,主程序通知統(tǒng)計模塊,統(tǒng)計模塊調用 Statistics_info_setValue 程序更新統(tǒng)計信息。函數(shù)實現(xiàn)代碼如下: void CFTP_Statistics_Child::Statistics_info_setValue(int nType, int nValue) { CString my_strValue。 (%d, nValue)。 ((CListCtrl*)GetDlgItem(IDC_STATISTICS))SetItemText(nType, 1, my_strValue)。 } 安全 模塊 安全 模塊的主要功能為配置服務器的安全性。 安全 模塊的主要作用維護系統(tǒng)得安全性,防止惡意用戶破化系統(tǒng)。其主要配置內容為設置允許接入服務器的 IP 和禁止接入服務器的 IP。服務器操作用戶發(fā)現(xiàn)有連接用戶惡意操作服務器時,用戶可以設置其 IP 為禁止接入 IP 而限制其接入;當服務器操作用戶只想其允許的用戶接入服務器時,可以設置其 IP 為允許接入IP,從而達到只允許服務器操作用戶想要接入的用戶接入。其主要設計方法為:當服務器接收到用戶登錄信息時,檢查登錄用戶 IP 是否為禁止接入 IP,如果是則禁止其接入,否則允許接入;如果服務器設置了允許接入 IP,則檢查接入 IP 是否在允許接入 IP 中,如果是則允許接入,否則禁止接入。當 安全 模塊檢測到有禁止接入 /允許接入 IP 增加,編輯,刪除操作時,更新安全模塊安全配置信息。其程序設計流程圖如圖 所示。 26 開始結束用戶登錄信息 ?允許接入 IP ?禁止接入 IP ?禁止接入 IP 操作 ?拒絕登錄允許接入 Ip 操作 ?允許登錄NYYNNYNYY更新安全配置N 圖 安全模塊設計流程圖 Fig. Security module design flow chart 安全模塊運行界面如圖 所示。 27 圖 安全模塊運行界面圖 Fig. Security module running interface 安全模塊的實現(xiàn)主要通過設計 CFTP_Security_Child 類來實現(xiàn),其主要功能函數(shù)如下: 1 .OnInitDialog()函數(shù)。安全模塊在其對話框初始化程序 OnInitDialog()中,初始化服務器的安全配置。函數(shù)實現(xiàn)代碼如下: BOOL CFTP_Security_Child::OnInitDialog() { CDialogResize::OnInitDialog()。 InitResizing(FALSE, FALSE, WS_CLIPCHILDREN)。 //獲取系統(tǒng)安全初始化配置 Block_All_FLAG = AfxGetApp()GetProfileInt(FTPSer, BlockAll, 0)。 UpdateData(FALSE)。 CStringArray Array_sBte。 (Array_sBte)。 int i=0。 while(i()) { ((CListBox*)GetDlgItem(IDC_BLOCKEDLIST))AddString(Array_sBte[i++])。 } (Array_sBte)。 i=0。 while(i()) { 28 ((CListBox*)GetDlgItem(IDC_NONBLOCKEDLIST))AddString(Array_sBte[i++])。 } // 獲得安全配置的 IP,供系統(tǒng)使用 char szHostName[128]。 HOSTENT *lpHost=NULL。 struct sockaddr_in sheep_sock。 gethostname(szHostName, sizeof(szHostName))。 lpHost = gethostbyname(szHostName)。 if (lpHost != NULL) { //循環(huán)提取 IP for(int k=0。 lpHosth_addr_list[k] != NULL 。k++) { memcpy(amp。(), lpHosth_addr_list[k], lpHosth_length)。 if (k == 0) { SetDlgItemText(IDC_IPADDRESS1, i_ntoa())。 } else if (k == 1) { SetDlgItemText(IDC_IPADDRESS2, i_ntoa())。 } } } //初始化所有允許 IP編輯按鈕無效 GetDlgItem(IDC_NONBLOCKEDLIST)EnableWindow(Block_All_FLAG)。 GetDlgItem(IDC_ADD_NONBLOCK)EnableWindow(Block_All_FLAG)。 GetDlgItem(IDC_EDIT_NONBLOCK)EnableWindow(Block_All_FLAG)。 GetDlgItem(IDC_REMOVE_NONBLOCK)EnableWindow(Block_All_FLAG)。 //初始化所有阻止 IP編輯按鈕有效 GetDlgItem(IDC_BLOCKEDLIST)EnableWindow(!Block_All_FLAG)。 GetDlgItem(IDC_ADD_BLOCK)EnableWindow(!Block_All_FLAG)。 GetDlgItem(IDC_EDIT_BLOCK)EnableWindow(!Block_All_FLAG)。 GetDlgItem(IDC_REMOVE_BLOCK)EnableWindow(!Block_All_FLAG)。 GetDlgItem(IDC_STATIC1)EnableWindow(!Block_All_FLAG)。 return TRUE。 } 2. OnDestroy()函數(shù)。當主程序退出時,安全模塊調用 OnDestroy 存儲安全配置到配置文件中。函數(shù)實現(xiàn)代碼如下: void CFTP_Security_Child::OnDestroy() { UpdateData()。//讀取安全配置數(shù)據(jù) AfxGetApp()WriteProfileInt(FTPSer, BlockAll, Block_All_FLAG)。//存儲安全配置數(shù) 29 據(jù) CDialogResize::OnDestroy()。 } 3. Block_Add_IP()函數(shù)。安全模塊調用 Block_Add_IP ()阻止用戶輸入的登錄用戶 IP 接入。函數(shù)實現(xiàn)代碼如下: void CFTP_Security_Child::Block_Add_IP() { CAddIPDlg my_dlg。//創(chuàng)建添加 IP輸入對話框 if (() == IDOK) //彈出添加 IP輸入對 話框 { if(FindBlockIP()) { //輸入 IP不存在,添加進安全配置中 int IP_index = ()。 (IP_index)。 Update_Data_IP(0)。 } else return。 } } 4. Edit_Block_IP()函數(shù)。安全模塊調用 Edit_Block_IP ()修改用戶想要阻止的登錄用戶 IP。函數(shù)實現(xiàn)代碼如下: void CFTP_Security_Child::Edit_Block_IP() { int IP_index = ()。 //獲取編輯 IP所在顯示控件中的索引 if (IP_index == 1)//獲取失敗返回 return。 CAddIPDlg sheep_dlg_SBsa。//彈出編輯 IP對話框 = Edit IP address。 (IP_index, )。 if (() == IDOK) { //編輯完畢 if(FindBlockIP()) { //編輯修改 IP不存在當前配置中,修改原編輯 IP (IP_index)。 IP_index = ()。 (IP_
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1