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

正文內(nèi)容

ftp服務(wù)與客戶(hù)端設(shè)計(jì)—免費(fèi)計(jì)算機(jī)-在線(xiàn)瀏覽

2025-02-06 01:06本頁(yè)面
  

【正文】 Passive (也就是 PASV,被動(dòng)方式 )。 Passive 模式 FTP 的客戶(hù)端發(fā)送 PASV命令到 FTP Server。 PORT 命令包含了客戶(hù)端用什么端口接收數(shù)據(jù)。 FTP server 必須和客戶(hù)端建立一個(gè)新的連接用來(lái)傳送數(shù)據(jù)。 現(xiàn)在的 FTP 軟件里面包括在 IE5 以上的版本里面也已經(jīng)支持這兩種模式了。 VC++ 介紹 本課題設(shè)計(jì)采用 Microsoft Visual C++。 Visual C++ 不僅僅是一個(gè)編譯器。 Visual C++作為一種程序設(shè)計(jì)語(yǔ)言,它同時(shí)也是一個(gè)集成開(kāi)發(fā)工具,提供了軟件代碼自動(dòng)生成和可視化 的資源編輯功能。 Visual C++采用的框架是 MFC。你如果選擇了MFC,也就選擇了一種程序結(jié)構(gòu),一種編程風(fēng)格。 MFC 是在整個(gè) Windows 家族中都是兼容的,也就是說(shuō),無(wú)論是 、 Windows95 還是 Windows NT,所使用的 MFC 是兼容的 。 MFC 也回得到擴(kuò)展,添加新的特性、變得更加容易建立應(yīng)用程序。 MFC 中包含了上成千上萬(wàn)行正確、優(yōu)化和功能強(qiáng)大的 Windows 代碼。從這點(diǎn)上將, MFC 極大地加快了你的程序開(kāi)發(fā)速度。最重要的是 MFC類(lèi)庫(kù)在提供的對(duì)象的各種屬性和方法都是經(jīng)過(guò)謹(jǐn)慎的編寫(xiě)和嚴(yán)格的測(cè)試,可靠性很高,這就保證了使用 MFC 類(lèi)庫(kù)不會(huì)影響程序的可靠性和正確性。一個(gè)例外是菜單( CMenu)不是從窗口派生 的。 2).CDocument 文檔,負(fù)責(zé)內(nèi)存數(shù)據(jù)與磁盤(pán)的交互。 3).CView 視圖,負(fù)責(zé)內(nèi)存數(shù)據(jù)與用戶(hù)的交互。最重要的是 OnDraw(重畫(huà)窗 口 ),通常用 CWnd::Invalidate()來(lái)啟動(dòng)它 。你自己的許多功能都要加在 里面,你打交道最多的就是它。無(wú)論是顯示器還是打印機(jī),都是畫(huà)圖給用戶(hù)看。CDC 與其他 GDI(圖形設(shè)備接口)一起,完成文字和圖形、圖 像的顯示工作。 CDC有個(gè)常用子類(lèi) CClientDC(窗口客戶(hù)區(qū)),畫(huà)圖通常通過(guò) CClientDC 完成。 6).CWinApp 應(yīng)用 程序類(lèi)。最常用函數(shù) InitInstance():初始化。它們都需要在使用前選進(jìn) DC。 9).CBrush 刷子,填充 。 11).CBitmap 位圖 。 13).CRgn 區(qū)域,指定一塊區(qū)域可以用于做特殊處理。最重要的不外是 Open(打開(kāi)) ,Read(讀入) ,Write(寫(xiě)) 。封裝了 C 中的字符數(shù)組,非常實(shí)用。 17).CRect 矩形,就是( left,top,right,bottom) 。 本文工作內(nèi)容 本文的主要工作為 FTP 服務(wù)器和客戶(hù)端的設(shè)計(jì)。 ● 在線(xiàn)用戶(hù) 模塊。 ● 統(tǒng)計(jì) 模塊。 (2)客戶(hù)端設(shè)計(jì): ● 連接服務(wù)器 模塊。 ● 下載文件 模塊。服務(wù)器設(shè)計(jì)模塊包括: 服務(wù)器日志 模塊, 在線(xiàn)用戶(hù) 模塊, 程序設(shè)置 模塊 , 統(tǒng)計(jì) 模塊, 安全 模塊。 FTP 服務(wù)器整體設(shè)計(jì) 服務(wù)器設(shè)計(jì)模塊包括: 服務(wù)器日志 模塊, 在線(xiàn)用戶(hù) 模塊, 程序設(shè)置 模塊 , 統(tǒng)計(jì) 模塊,安全 模塊。 FTP 服務(wù)器服務(wù)器日志模塊統(tǒng)計(jì)模塊在線(xiàn)用戶(hù)模塊安全模塊程序設(shè)置模塊 圖 FTP 服務(wù)器模塊設(shè)計(jì)層次圖 Fig. FTP server module level design plans 服務(wù)器日志 模塊。例如用戶(hù)上傳文件內(nèi)容,上傳時(shí)間;下載文件內(nèi)容,下載時(shí)間等等。 在線(xiàn)用戶(hù) 模塊的主要功能為顯示當(dāng)前連 接上服務(wù)器的用戶(hù)。 程序設(shè)置 模塊的主要功能為配置服務(wù)器參數(shù)。 統(tǒng)計(jì) 模塊。例如服務(wù)器的總下載量,總上傳量,總連接用戶(hù)數(shù)等。 安全 模塊的主要功能為配置服務(wù)器的安全性。 FTP 客戶(hù)端整體設(shè)計(jì) 客戶(hù)端設(shè)計(jì)模塊包括: 連接服務(wù)器 模塊, 上傳文件 模塊, 下載文件 模塊。 FTP 客戶(hù)端連接服務(wù)器模塊上傳文件模塊下載文件模塊 圖 FTP 客戶(hù)端模塊設(shè)計(jì)層次圖 Fig. FTP client module level design plans 連接服務(wù)器 模塊。 上傳文件 模塊。 下載文件 模塊。 第 3章 FTP 服務(wù)器模塊設(shè)計(jì) 服務(wù)器的主要設(shè)計(jì)模塊為五個(gè)模塊: 服務(wù)器日志 模塊, 在線(xiàn)用戶(hù) 模塊, 程序設(shè)置 模塊 , 統(tǒng)計(jì) 模塊, 安全 模塊。其具體顯示和記錄的日志信息為:用戶(hù)登錄信息;用戶(hù)上傳文件信息;用戶(hù)下載文件信息;用戶(hù)設(shè)置服務(wù)器文件目錄信息;用戶(hù)創(chuàng)建服務(wù)器文件目錄信息;用戶(hù)刪除服務(wù)器文件目錄信息;用戶(hù)修改服務(wù)器文件目錄信息;用戶(hù)下線(xiàn)信息。其程序設(shè)計(jì)流程圖如圖 所示。 endif IMPLEMENT_DYNCREATE(CTracePage, CDialog) CTracePage::CTracePage() : CDialog(CTracePage::IDD) { //{{AFX_DATA_INIT(CTracePage) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT } CTracePage::~CTracePage() { while(!()) { CLogMsg *pLogMsg = (CLogMsg *)()。 } } void CTracePage::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX)。 //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CTracePage, CDialog) //{{AFX_MSG_MAP(CTracePage) ON_WM_SIZE() ON_COMMAND(ID_TRACE_CLEAR, OnTraceClear) ON_WM_CONTEXTMENU() //}}AFX_MSG_MAP ON_MESSAGE(WM_ADDTRACELINE, OnAddTraceLine) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTracePage message handlers void CTracePage::AddTraceLine(int nLevel, LPCTSTR pstrFormat, ...) { CString str。 va_start(args, pstrFormat)。 try { // create new message CLogMsg *pLogMsg = new CLogMsg。pLogMsgm_sysTime)。 pLogMsgm_strText = str。 (pLogMsg)。 // schedule log action PostMessage(WM_ADDTRACELINE)。 try { // get first message in the queue // ()。 // ()。 break。 break。 break。 break。 (%02d/%02d/%02d %02d:%02d:%02d.%03d , pLogMsg, pLogMsg, pLogMsg, pLogMsg, pLogMsg, pLogMsg, pLogMsg)。 break。 break。 break。 } catch(...) { // something is wrong... } return TRUE。 if (IsWindow(::GetDlgItem(m_hWnd, IDC_TRACE))) { CRect rect。 // (5,5,10,10)。 } } void CTracePage::OnTraceClear() { ()。 (MAKEINTRESOURCE(IDR_TRACE_MENU))。 } 在線(xiàn)用戶(hù) 模塊 在線(xiàn)用戶(hù) 模塊的主要功能為顯示當(dāng)前連接上服務(wù)器的用戶(hù)。顯示方法為使用 ClistCtrl控件將顯示內(nèi)容顯示在其上。 1) 設(shè)置 ClistCtrl 類(lèi) 型 。 如果設(shè)置了 LVS_EX_CHECKBOXES 屬性,則可以用 BOOL GetCheck( int nItem ) const; 來(lái)得到某一行是否 Checked。 BOOL DeleteItem( int nItem),刪除指定的元素, nItem 為要?jiǎng)h除的元素。 3) 插入元素操作。 4)插入列操作。 5)設(shè)置列寬操作。 6)設(shè)置元素值操作。 其程序設(shè)計(jì)流程圖如圖 所示。 圖 在 線(xiàn)用戶(hù) 模塊運(yùn)行界面 圖 Fig. Online user modular running interface 其程序設(shè)計(jì)實(shí)現(xiàn)代碼如下: include include include include include include ifdef _DEBUG define new DEBUG_NEW undef THIS_FILE static char THIS_FILE[] = __FILE__。 IMPLEMENT_DYNCREATE(COnlineUsersPage, CDialog) COnlineUsersPage::COnlineUsersPage() : CDialog(COnlineUsersPage::IDD) { //{{AFX_DATA_INIT(COnlineUsersPage) //}}AFX_DATA_INIT } COnlineUsersPage::~COnlineUsersPage() { } void COnlineUsersPage::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX)。 //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(COnlineUsersPage, CDialog) //{{AFX_MSG_MAP(COnlineUsersPage) ON_WM_SIZE() ON_WM_CONTEXTMENU() ON_COMMAND(IDC_KICK_USER, OnKickUser) ON_COMMAND(IDC_EDIT_USER, OnEditUserAccount) ON_COMMAND(IDC_BLOCK_IP, OnBlockIp) //}}AFX_MSG_MAP END_MESSAGE_MAP() /********************************************************************/ /* */ /* Function name : OnInitDialog */ /* Description : Called by the framework in response to the */ /* WM_INITDIALOG message. */ /* */ /********************************************************************/ BOOL COnlineUsersPage::OnInitDialog() { CDialog::OnInitDialog()。 (1, Username)。 (3, Login Time)。 dwStyle |= LVS_EX_FULLROWSELECT。 return TRUE。 if (IsWindow(::GetDlgItem(m_hWnd, IDC_ONLINE_USERS))) { CRect rect。 (rect)。 (1, ()/32)。 (3, ()/32)。 (%d, nThreadID)。 = LVFI_PARTIAL|LVFI_STRING。 int nIndex = (amp。 if (nIndex == 1) { nIndex = (0, strThreadID)。 (nIndex, 2, lpszAddress)。 } /************************************************
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1