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

正文內(nèi)容

網(wǎng)絡(luò)編程實(shí)用教程課后習(xí)題(編輯修改稿)

2025-04-21 07:18 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 用程序框架具體的步驟?答:1.使用MFC AppWizard創(chuàng)建客戶端應(yīng)用程序框架。創(chuàng)建的程序是一個(gè)基于對(duì)話框的Win32應(yīng)用程序,將自動(dòng)創(chuàng)建兩個(gè)類(lèi),應(yīng)用程序類(lèi)CTalkcApp,;對(duì)話框類(lèi)CTalkcDlg。支持Windows Socket。 2.為對(duì)話框界面添加控件對(duì)象利用控件面板在程序的主對(duì)話框界面中添加相應(yīng)的可視控件對(duì)象,然后修改控件的屬性3.為對(duì)話框中的控件對(duì)象定義相應(yīng)的成員變量4.創(chuàng)建從CAsyncSocket類(lèi)繼承的派生類(lèi)(1)選擇菜單“插入/新建類(lèi)”,進(jìn)入“New Class”對(duì)話,選擇或輸入以下信息:Class Type:選擇MFC ClassClass Infoumation下的Name: 輸入CMySocketClass Infoumation下的Base class:選擇CAsyncSocket點(diǎn)擊“OK”按鈕,在VC界面的Class View中就可以看到這個(gè)類(lèi)。 (2)利用類(lèi)向?qū)lassWizard為這個(gè)套接字類(lèi)添加響應(yīng)消息的事件處理成員函數(shù),此程序中需要添加OnConnect,OnClose和OnReceive三個(gè)函數(shù)。(3)為套接字類(lèi)CMySocket類(lèi)添加一般的成員函數(shù)和成員變量。對(duì)這個(gè)套接字類(lèi),添加一個(gè)私有的成員變量,是一個(gè)對(duì)話框類(lèi)的指針。private:CTalkcDlg * m_pDlg。 再添加一個(gè)成員函數(shù):void SetParent(CTalkcDlg * pDlg)。(4)手工添加其他代碼,應(yīng)在文件開(kāi)頭,添加對(duì)于此應(yīng)用程序?qū)υ捒蝾?lèi)的聲明:class CTalkcDlg。,有四處添加:① 應(yīng)在文件開(kāi)頭,添加包含文件說(shuō)明。這是因?yàn)榇颂捉幼诸?lèi)用到了對(duì)話框類(lèi)的變量。include “”② 在構(gòu)造函數(shù)中,添加對(duì)于對(duì)話框指針成員變量的初始化代碼:CMySocket::CMySocket() { m_pDlg = NULL。 }③ 在析構(gòu)函數(shù)中,添加對(duì)于對(duì)話框指針成員變量的初始化代碼:CMySocket::~CMySocket() { m_pDlg = NULL。 }④ 為成員函數(shù)setParent和事件處理函數(shù)OnConnect,OnClose和OnReceive添加代碼。5.為對(duì)話框類(lèi)添加控件對(duì)象事件的響應(yīng)函數(shù)6.為CTalkcDlg對(duì)話框類(lèi)添加其它的成員函數(shù)和成員變量成員變量:CMySocket m_sConnectSocket。 //用來(lái)與服務(wù)器端連接的套接字。成員函數(shù):void OnClose()。 void OnConnect()。 void OnReceive()。 7.手工添加的代碼,來(lái)獲得對(duì)于套接字支持: include “”:// TODO: Add extra initialization here//用戶添加的控件變量的初始化代碼BOOL CTalkcDlg::OnInitDialog(){m_strServName=localhost。 // 服務(wù)器名 = localhostm_nServPort=1000。 // 服務(wù)端口 = 1000UpdateData(FALSE)。 // 更新用戶界面//設(shè)置套接字類(lèi)的對(duì)話框指針成員變量(this)。} 8.添加事件函數(shù)和成員函數(shù)的代碼,添加用戶自己的事件函數(shù)和成員函數(shù)的代碼。9.進(jìn)行測(cè)試。九、說(shuō)明點(diǎn)對(duì)點(diǎn)交談的客戶機(jī)端程序的類(lèi)與消息驅(qū)動(dòng)關(guān)系?答: 下圖說(shuō)明了點(diǎn)對(duì)點(diǎn)交談的客戶端程序的類(lèi)與消息驅(qū)動(dòng)關(guān)系第六章1. 說(shuō)明了各種HINTERNET句柄形成的樹(shù)形體系答: 2. 如何獲取WinInet API函數(shù)執(zhí)行的錯(cuò)誤信息?答:從函數(shù)的返回值來(lái)說(shuō),WinInet API主要有兩種類(lèi)型。一種函數(shù)的返回值類(lèi)型是HINTERNET句柄型,一種函數(shù)的返回值類(lèi)型是布爾型。應(yīng)用程序可以根據(jù)函數(shù)執(zhí)行后的返回值來(lái)判斷函數(shù)的執(zhí)行是否成功。對(duì)于前一種函數(shù),當(dāng)函數(shù)執(zhí)行成功時(shí),會(huì)返回一個(gè)有效的句柄;當(dāng)函數(shù)失敗時(shí),則返回NULL。對(duì)于后一種函數(shù),當(dāng)函數(shù)執(zhí)行成功時(shí),返回TRUE;當(dāng)函數(shù)失敗時(shí),返回FALSE。在函數(shù)調(diào)用失敗后,用戶往往需要了解出錯(cuò)的具體原因,應(yīng)用程序可以隨即調(diào)用GetLastError函數(shù)來(lái)獲取更具體的錯(cuò)誤信息。 說(shuō)明使用WinInet API編制FTP客戶機(jī)端應(yīng)用程序的一般步驟答:(1)調(diào)用InternetAttemptConnect函數(shù)測(cè)試主機(jī)與Internet的連接狀態(tài),(2)調(diào)用InternetOpen函數(shù),創(chuàng)建HINTERNET會(huì)話根句柄。(3)創(chuàng)建FTP會(huì)話句柄MFC WinInet所包含的類(lèi)有哪些?答:CInternetSession類(lèi),2.連接類(lèi),包括CInternetConnection類(lèi)和它的派生類(lèi)CFtpConnection類(lèi)、CHttpConnection類(lèi)、和CGopherConnection類(lèi);3文件類(lèi),首先包括CInternetFile類(lèi)和由它派生的CHttpFile類(lèi)和CGopherFile類(lèi),另外,由CFileFind類(lèi)派生的用于文件查找的CFtpFileFind類(lèi)和CGopherFileFind類(lèi)也應(yīng)歸入文件類(lèi)的層次。4.CInternetException類(lèi)MFC WinInet 各種類(lèi)之間的關(guān)系 答:如下圖,其中細(xì)線箭頭從基類(lèi)指向繼承類(lèi),表示了類(lèi)的派生關(guān)系;粗線箭頭從函數(shù)指向它所創(chuàng)建的類(lèi)對(duì)象使用WinInet類(lèi)編程的一般步驟是什么?答:1)創(chuàng)建CInternetSession類(lèi)對(duì)象,創(chuàng)建并初始化Internet會(huì)話。(2)利用CInternetSession類(lèi)的QueryOption或SetOption成員函數(shù),可以查詢或設(shè)置該類(lèi)內(nèi)含的Internet請(qǐng)求選項(xiàng),這一步是可選。(3)創(chuàng)建連接類(lèi)對(duì)象,建立CInternetSession對(duì)象與網(wǎng)絡(luò)服務(wù)器的連接,也就是應(yīng)用程序與網(wǎng)絡(luò)服務(wù)器的連接。 (4)創(chuàng)建文件檢索類(lèi)對(duì)象,對(duì)服務(wù)器進(jìn)行檢索 (5)如果需要使用異步操作模式,可以重載CInternetSession類(lèi)的OnStatusCallback函數(shù),并啟動(dòng)應(yīng)用程序使用狀態(tài)回調(diào)機(jī)制。重載相關(guān)函數(shù),加入自己的代碼。(6)如果還想更緊密地控制對(duì)于服務(wù)器文件的訪問(wèn),可以進(jìn)一步創(chuàng)建文件類(lèi)對(duì)象實(shí)例,完成文件查找或文件讀寫(xiě)操作。(7)創(chuàng)建CInternetException類(lèi)對(duì)象實(shí)例,處理錯(cuò)誤。(8)關(guān)閉各種類(lèi),將資源釋放給系統(tǒng)。第七章 WinSock的兩種I/O模式是什么?各有什么優(yōu)缺點(diǎn),缺點(diǎn)如何解決?答:WinSock的兩種I/O模式是:“阻塞”模式(Blocking Mode)或“非阻塞”模式,又稱為同步模式或異步模式。阻塞模式的優(yōu)點(diǎn):阻塞套接字的I/O操作工作情況比較確定,無(wú)非是調(diào)用、等待、返回。大部分情況下,I/O操作都能成功地完成,不過(guò)就是花費(fèi)了等待的時(shí)間。因而比較容易使用,容易編程。缺點(diǎn):在應(yīng)付諸如需要建立多個(gè)套接字連接來(lái)為多個(gè)客戶服務(wù)的時(shí)候,或在數(shù)據(jù)的收發(fā)量不均勻的時(shí)候,或在輸入輸出的時(shí)間不確定的時(shí)候,卻顯得性能低下,甚至無(wú)能為力。 非阻塞模式的優(yōu)點(diǎn):能應(yīng)付諸如需要建立多個(gè)套接字連接來(lái)為多個(gè)客戶服務(wù),可以處理數(shù)據(jù)的收發(fā)量不均勻、輸入輸出的時(shí)間不確定等問(wèn)題。非阻塞模式的缺點(diǎn):用非阻塞套接字,需要編寫(xiě)更多的代碼,因?yàn)楸仨毲‘?dāng)?shù)匕盐照{(diào)用I/O函數(shù)的時(shí)機(jī),盡量減少無(wú)功而返的調(diào)用,還必須詳加分析每個(gè)Winsock調(diào)用中收到的WSAEWOULDBLOCK錯(cuò)誤,采取相應(yīng)的對(duì)策,這種I/O操作的隨機(jī)性使得非阻塞套接字顯得難于操作。解決方法:對(duì)于非阻塞的套接字工作模式,進(jìn)一步引入了五種“套接字I/O模型”,有助于應(yīng)該程序通過(guò)一種異步方式,同時(shí)對(duì)一個(gè)或多個(gè)套接字上進(jìn)行的通信加以管理。對(duì)于阻塞的套接字工作模式,則進(jìn)一步引入了多線程機(jī)制。 簡(jiǎn)述Win32操作系統(tǒng)下的多進(jìn)程多線程機(jī)制。答:Win32操作系統(tǒng)還支持同一進(jìn)程的多線程。在一個(gè)Windows進(jìn)程內(nèi),可以包含多個(gè)線程。一個(gè)線程(thread)是進(jìn)程內(nèi)的一條執(zhí)行路徑,具體地說(shuō),是一個(gè)應(yīng)用程序中的一條可執(zhí)行路徑,往往是應(yīng)用程序中的一個(gè)或多個(gè)函數(shù)。一個(gè)進(jìn)程中至少要有一個(gè)線程,習(xí)慣將它稱為主線程。任何一個(gè)應(yīng)用程序進(jìn)程都有一個(gè)主線程。 多線程機(jī)制在網(wǎng)絡(luò)編程中如何應(yīng)用?答:如果一個(gè)應(yīng)用程序,有多個(gè)任務(wù)需要同時(shí)進(jìn)行處理,那就最適合使用多線程機(jī)制。對(duì)于網(wǎng)絡(luò)上客戶機(jī)軟件,采用多線程的編程技術(shù),能克服在單線程的編程模式下,由于阻塞等待而產(chǎn)生的客戶程序就不能及時(shí)響應(yīng)用戶的操作命令的問(wèn)題。對(duì)于網(wǎng)絡(luò)上服務(wù)器軟件,采用多線程的編程技術(shù),能更好地為多個(gè)客戶服務(wù)。即便是對(duì)于一個(gè)客戶,采用多線程機(jī)制也能大大提高應(yīng)用程序的運(yùn)行效率。 說(shuō)明用戶接口線程和工作線程的概念和特點(diǎn)。答:用戶接口線程:通常用來(lái)處理用戶輸入產(chǎn)生的消息和事件,并獨(dú)立地響應(yīng)正在應(yīng)用程序其它部分執(zhí)行的線程們產(chǎn)生的消息和事件。用戶接口線程包含一個(gè)消息處理的循環(huán),以應(yīng)對(duì)各種事件。工作線程:適用于處理那些不要求用戶輸入并且比較消耗時(shí)間的其他任務(wù)。對(duì)用戶來(lái)說(shuō),工作線程運(yùn)行在后臺(tái)。這就使得工作線程特別適合去等待一個(gè)事件的發(fā)生。 簡(jiǎn)述創(chuàng)建MFC的工作線程所必需的步驟。答:(1)是編程實(shí)現(xiàn)控制函數(shù)。(2)是創(chuàng)建并啟動(dòng)工作線程。(3)創(chuàng)建工作線程的例子。(4)創(chuàng)建工作線程的一般模式。簡(jiǎn)述創(chuàng)建并啟動(dòng)用戶界面線程所必需的步驟。答:1.從CWinThread類(lèi)派生出自己的線程類(lèi) 2.改造自己的線程類(lèi)3.創(chuàng)建并啟動(dòng)用戶界面線程如何正常終
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1