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

正文內(nèi)容

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

2024-11-23 16:20本頁(yè)面

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

  

【正文】 向統(tǒng)計(jì)信息顯示 List控件中 名稱 列元素添加第 2個(gè) 下載文件總量 值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))InsertItem(2, 下載文件總量 )==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計(jì)信息顯示 List控件中 值 列元素添加第 2個(gè)初始 0值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))SetItemText(2, 1, 0)==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計(jì)信息顯示 List控件中 名稱 列元素添加第 3個(gè) 上傳文件總量 值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))InsertItem(3, 上傳文件總量 )==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計(jì)信息顯示 List控件中 值 列元素添加第 3個(gè)初始 0值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))SetItemText(3, 1, 0)==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計(jì)信息顯示 List控件中 名稱 列元素添加第 4個(gè) 下載文件失敗數(shù) 值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))InsertItem(4, 下載文件失敗數(shù) )==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計(jì)信息顯示 List控件中 值 列元素添加第 4個(gè)初始 0值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))SetItemText(4, 1, 0)==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計(jì)信息顯示 List控 件中 名稱 列元素添加第 5個(gè) 上傳文件失敗數(shù) 值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))InsertItem(5, 上傳文件失敗數(shù) )==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計(jì)信息顯示 List控件中 值 列元素添加第 5個(gè)初始 0值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))SetItemText(5, 1, 0)==1) AfxMessageBox(添加 元素失敗 )。 //向統(tǒng)計(jì)信息顯示 List控件中 名稱 列元素添加第 6個(gè) 總上傳文件大小 值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))InsertItem(6, 總上傳文件大小 )==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計(jì)信息顯示 List控件中 值 列元素添加第 6個(gè)初始 0值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))SetItemText(6, 1, 0)==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計(jì)信息顯示 List控件中 名稱 列元素添加第 7個(gè) 總下載文件大小 值 if(((CListCtrl*)GetDlgItem(IDC_STATISTICS))InsertItem(7, 總下載文件大小 )==1) AfxMessageBox(添加元素失敗 )。 //向統(tǒng)計(jì)信息顯示 List控件中 值 列元素添加第 7個(gè)初始 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ù)。當(dāng)服務(wù)器的信息發(fā)生改變時(shí),主程序通知統(tǒng)計(jì)模塊,統(tǒng)計(jì)模塊調(diào)用 Statistics_info_setValue 程序更新統(tǒng)計(jì)信息。函數(shù)實(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)。 } 安全 模塊 安全 模塊的主要功能為配置服務(wù)器的安全性。 安全 模塊的主要作用維護(hù)系統(tǒng)得安全性,防止惡意用戶破化系統(tǒng)。其主要配置內(nèi)容為設(shè)置允許接入服務(wù)器的 IP 和禁止接入服務(wù)器的 IP。服務(wù)器操作用戶發(fā)現(xiàn)有連接用戶惡意操作服務(wù)器時(shí),用戶可以設(shè)置其 IP 為禁止接入 IP 而限制其接入;當(dāng)服務(wù)器操作用戶只想其允許的用戶接入服務(wù)器時(shí),可以設(shè)置其 IP 為允許接入IP,從而達(dá)到只允許服務(wù)器操作用戶想要接入的用戶接入。其主要設(shè)計(jì)方法為:當(dāng)服務(wù)器接收到用戶登錄信息時(shí),檢查登錄用戶 IP 是否為禁止接入 IP,如果是則禁止其接入,否則允許接入;如果服務(wù)器設(shè)置了允許接入 IP,則檢查接入 IP 是否在允許接入 IP 中,如果是則允許接入,否則禁止接入。當(dāng) 安全 模塊檢測(cè)到有禁止接入 /允許接入 IP 增加,編輯,刪除操作時(shí),更新安全模塊安全配置信息。其程序設(shè)計(jì)流程圖如圖 所示。 26 開(kāi)始結(jié)束用戶登錄信息 ?允許接入 IP ?禁止接入 IP ?禁止接入 IP 操作 ?拒絕登錄允許接入 Ip 操作 ?允許登錄NYYNNYNYY更新安全配置N 圖 安全模塊設(shè)計(jì)流程圖 Fig. Security module design flow chart 安全模塊運(yùn)行界面如圖 所示。 27 圖 安全模塊運(yùn)行界面圖 Fig. Security module running interface 安全模塊的實(shí)現(xiàn)主要通過(guò)設(shè)計(jì) CFTP_Security_Child 類來(lái)實(shí)現(xiàn),其主要功能函數(shù)如下: 1 .OnInitDialog()函數(shù)。安全模塊在其對(duì)話框初始化程序 OnInitDialog()中,初始化服務(wù)器的安全配置。函數(shù)實(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編輯按鈕無(wú)效 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ù)。當(dāng)主程序退出時(shí),安全模塊調(diào)用 OnDestroy 存儲(chǔ)安全配置到配置文件中。函數(shù)實(shí)現(xiàn)代碼如下: void CFTP_Security_Child::OnDestroy() { UpdateData()。//讀取安全配置數(shù)據(jù) AfxGetApp()WriteProfileInt(FTPSer, BlockAll, Block_All_FLAG)。//存儲(chǔ)安全配置數(shù) 29 據(jù) CDialogResize::OnDestroy()。 } 3. Block_Add_IP()函數(shù)。安全模塊調(diào)用 Block_Add_IP ()阻止用戶輸入的登錄用戶 IP 接入。函數(shù)實(shí)現(xiàn)代碼如下: void CFTP_Security_Child::Block_Add_IP() { CAddIPDlg my_dlg。//創(chuàng)建添加 IP輸入對(duì)話框 if (() == IDOK) //彈出添加 IP輸入對(duì) 話框 { if(FindBlockIP()) { //輸入 IP不存在,添加進(jìn)安全配置中 int IP_index = ()。 (IP_index)。 Update_Data_IP(0)。 } else return。 } } 4. Edit_Block_IP()函數(shù)。安全模塊調(diào)用 Edit_Block_IP ()修改用戶想要阻止的登錄用戶 IP。函數(shù)實(shí)現(xiàn)代碼如下: void CFTP_Security_Child::Edit_Block_IP() { int IP_index = ()。 //獲取編輯 IP所在顯示控件中的索引 if (IP_index == 1)//獲取失敗返回 return。 CAddIPDlg sheep_dlg_SBsa。//彈出編輯 IP對(duì)話框 = Edit IP address。 (IP_index, )。 if (() == IDOK) { //編輯完畢 if(FindBlockIP()) { //編輯修改 IP不存在當(dāng)前配置中,修改原編輯 IP (IP_index)。 IP_index = ()。 (IP_
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1