網(wǎng)絡(luò)編程實(shí)用教程課后習(xí)題_第1頁(yè)
網(wǎng)絡(luò)編程實(shí)用教程課后習(xí)題_第2頁(yè)
網(wǎng)絡(luò)編程實(shí)用教程課后習(xí)題_第3頁(yè)
網(wǎng)絡(luò)編程實(shí)用教程課后習(xí)題_第4頁(yè)
網(wǎng)絡(luò)編程實(shí)用教程課后習(xí)題_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

程基礎(chǔ)的一般組成。為什么說應(yīng)用層協(xié)議是在應(yīng)用程序中實(shí)現(xiàn)的?答:從功能上,可以將網(wǎng)絡(luò)應(yīng)用程序分為兩部分,一部分是專門負(fù)責(zé)網(wǎng)絡(luò)通信的模塊,它們與網(wǎng)絡(luò)服務(wù)的問題分配(靜態(tài)分配)和本地分配(動(dòng)態(tài)分配)相結(jié)合的分配方法。(half-association)。。。全能通過標(biāo)準(zhǔn)的Internet協(xié)議在程序中訪問,具有以下的特點(diǎn):(1)可復(fù)用(2)松散耦合(3)封裝了WebWeb服務(wù)在Internet上發(fā)布(1)打開一通信通道,并連接到服務(wù)器所在主機(jī)的特定監(jiān)聽端口。(2)向服務(wù)器發(fā)送請(qǐng)求報(bào)文,等待 構(gòu)和 (7)分布性與共享性:資源在服務(wù)器端組織與存儲(chǔ),通過網(wǎng)絡(luò)分散在多個(gè)客戶端使用。服務(wù)器(server)這個(gè)術(shù)語(yǔ)來(lái)指那些運(yùn)行著的服務(wù)程序。服務(wù)器類計(jì)算機(jī)(server-classcomputer)這一術(shù)語(yǔ)來(lái)稱呼那些運(yùn)行服務(wù)器軟件的強(qiáng)大的計(jì)算機(jī)。8.流式套接口的工作過程(2)數(shù)據(jù)庫(kù)函數(shù)。其中六個(gè)采用getXbyY()的形式,大多要借助網(wǎng)絡(luò)上的數(shù)據(jù)庫(kù)來(lái)獲得信息,ocketslpWSAData);wVersionRequested:指定要使用的WinSock的最高版本號(hào),lpWSAData用來(lái)返回WinSockAP實(shí)I現(xiàn)細(xì)節(jié)的WSAData結(jié)構(gòu)變量指針。(1)查找WinSock.DLL文件,如果有WinSock實(shí)現(xiàn),則調(diào)入相關(guān)信息。若無(wú),則初始化失敗。返回錯(cuò)。::izard2)對(duì)應(yīng)用程序概念的封裝COMOLE裝)對(duì)ODBC功能的封裝(1)對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)不同(2)所處的層次不同(3)創(chuàng)建的機(jī)制不同(4)二者轉(zhuǎn)換的方式不同(5)使用的范圍不同(6)銷毀的方法不同1)用戶單擊主窗口的關(guān)閉按鈕,導(dǎo)致發(fā)送MFC標(biāo)準(zhǔn)命令消息ID_APP_EXIT。MFC調(diào)用CwinApp::EE序序號(hào)服務(wù)器(Server)客戶機(jī)(Client)1//構(gòu)建一個(gè)套接字//構(gòu)建一個(gè)套接字CAsyncSocketsockSrvr;CAsyncSocketsockClient;2//創(chuàng)建SOCKET句柄,綁定到指定的端//創(chuàng)建SOCKET句柄,使用默認(rèn)參數(shù)口sockClient.Create();t3,時(shí)刻準(zhǔn)備接受連接請(qǐng)求4到服務(wù)器sockClient.Connect(strAddr,nport);5新的空的套接字ketsockRecv//接收連接ecv6ufnLenfnLen7LenpBufnLen8//關(guān)閉套接字對(duì)象sockSrvr.Close();//關(guān)閉套接字對(duì)象sockClient.Close();(1)FD_READ事件通知:通知有數(shù)據(jù)可讀。(2)FD_WRITE事件通知:通知可以寫數(shù)據(jù)。(3)FD_ACCEPT事件通知:通知監(jiān)聽套接字有連接請(qǐng)求可以接受。(4)FD_CONNECT事件通知:通知請(qǐng)求連接的套接字,連接的要求已被處理。(5)FD_CLOSE事件通知:通知套接字已關(guān)閉。(6)FD_OOB事件通知:通知將有帶外數(shù)據(jù)到達(dá)virtualvoidOnReceiveintnErrorCode;virtualvoidOnSendintnErrorCode;virtualvoidOnAcceptintnErrorCodevirtualvoidOnConnectintnErrorCode;virtualvoidOnCloseintnErrorCodevirtualvoidOnOutOfBandDataintnErrorCode);(1)CSocketsockServ;//創(chuàng)建空的服務(wù)器端監(jiān)聽套接字對(duì)象。/用眾所周知的端口,創(chuàng)建監(jiān)聽套接字對(duì)象的底層套接字句柄。(2)sockServ.Create(nPort);(3)sockServ.Listen();//啟動(dòng)對(duì)于客戶端連接請(qǐng)求的監(jiān)聽。(4)CSocketsockRecv;//創(chuàng)建空的服務(wù)器端連接套接字對(duì)象。(5)CSockFile*file;cv(6)CArchive*arIn,arOut;re(7)arIn>>dwValue;//進(jìn)行數(shù)據(jù)輸入。(8)sockRecv.Close();(1)CSocketsockClient;//創(chuàng)建空的客戶機(jī)端套接字對(duì)象。(2)sockClient.Create();//創(chuàng)建套接字對(duì)象的底層套接字。(3)sockClient.Connect(strAddr,nPort);//請(qǐng)求連接到服務(wù)器。(4)CSockFile*file;ent(5)CArchive*arIn,arOut;re(6)arIn>>dwValue;//進(jìn)行數(shù)據(jù)輸入。(7)sockClient.Close();//傳輸完畢,關(guān)閉套接字對(duì)象。ClassWizard為這個(gè)套接字類添加響應(yīng)消息的事件處理成員函數(shù),此程序中需要添加(3)為套接字類CMySocket類添加一般的成員函數(shù)和成員變量。對(duì)這個(gè)套接字類,添加一個(gè)私有的成員變量,是一個(gè)對(duì)話框類的指針。private:CTalkcDlg*m_pDlg;再添加一個(gè)成員函數(shù):void(4)手工添加其他代碼includeTalkcDlgheinclude“MySocket.h”ddextrainitializationhere件變量的初始化代碼alkcDlgOnInitDialogmstrServNamelocalhost//服務(wù)器名=localhostmnServPort0;//服務(wù)端口=1000UpdateDataFALSE//更新用戶界面的對(duì)話框指針成員變量ectSocketSetParentthisET(3)創(chuàng)建FTP會(huì)話句柄MFCWinInet間的關(guān)系(3)創(chuàng)建連接類對(duì)象,建立CInternetSession對(duì)象與網(wǎng)絡(luò)服務(wù)器的連接,也就是應(yīng)用程序與網(wǎng)絡(luò)服務(wù)(4)創(chuàng)建文件檢索類對(duì)象,對(duì)服務(wù)器進(jìn)行檢索(6)如果還想更緊密地控制對(duì)于服務(wù)器文件的訪問,可以進(jìn)一步創(chuàng)建文件類對(duì)象實(shí)例,完成文件查找(7)創(chuàng)建CInternetException類對(duì)象實(shí)例,處理錯(cuò)誤。(8)關(guān)閉各種類,將資源釋放給系統(tǒng)。。。件。(2)是創(chuàng)建并啟動(dòng)工作線程。(3)創(chuàng)建工作線程的例子。(4)創(chuàng)建工作線程的一般模式。程tWSAAsyncSelect(異步選擇)、WSAEventSelect(事件選擇)、t(1)使用FD_ZERO宏,初始化自己感興趣的每一個(gè)fd_set集合。(2)使用FD_SET宏,將要檢查的套接字句柄添加到自己感興趣的每個(gè)fd_set集合中,相當(dāng)在指定的是否仍在集合中,便可判斷出哪些套接字存在著尚未完成(待決)的I/O操作。c事件選擇模型要求應(yīng)用程序針對(duì)每一個(gè)套接字,首先創(chuàng)建一個(gè)事件對(duì)象。創(chuàng)建方法是調(diào)用WSAEVENTWSACreateEvent(void);ETsentObjectsconstWSAEVENTFAR*lphEvents,ssSOCKETs,WSAEVENThEventObject,RKEVENTSlpNetworkEventsWSANETWORKEVEN結(jié)TS構(gòu)中的事件的處理之后應(yīng),用程序應(yīng)在所有可用的套接字,續(xù)等待更多的網(wǎng)絡(luò)事件。BOOLWSACloseEvent(WSAEVENThEvent);(1)第一步:選擇應(yīng)用程序結(jié)構(gòu)的語(yǔ)言,應(yīng)選擇“中文[中國(guó)]”(2)第二步:選擇應(yīng)用程序支持的數(shù)據(jù)庫(kù)supportViewwithoutfilesupport)。(3)第三步:選擇應(yīng)用程序支持的復(fù)合文檔①選擇應(yīng)用程序支持的復(fù)合文檔(compounddocument)類型。有五個(gè)選項(xiàng):(4)第四步:選擇應(yīng)用程序的接口特性④如果你想要修改你的程序的名字和擴(kuò)展名,或者為你的程序調(diào)整用戶接口窗口框架風(fēng)格,點(diǎn)擊Advance⑤點(diǎn)擊Next,出現(xiàn)第五步對(duì)話框。如.9所示。(5)第5步:決定三個(gè)問題①選擇工程風(fēng)格:WindowsExplore:r左邊是一個(gè)樹形視圖,右邊是一個(gè)列表視圖。MFCStandar:d為文件視圖提供一個(gè)區(qū)域。②選擇是否希望應(yīng)用程序向?qū)г谠次募挟a(chǎn)生注釋,以便指導(dǎo)你編寫程序。③選擇使用MFC庫(kù)的選項(xiàng)AsasharedDL:L庫(kù)作為共享的DLLAsastaticallylinkedlibr:ar庫(kù)y作為靜態(tài)鏈節(jié)的DLL注意,靜態(tài)鏈接到MFC的庫(kù)僅僅在VC++的專業(yè)版和企業(yè)版中支持(ProfessionalandEnterpriseRMAINFRAMEAINFRAME加事件處理函數(shù)控件添碼欄的同步問題MTP讀取。(1)會(huì)話的過程采用交互式的請(qǐng)求應(yīng)答模式,客戶發(fā)送命令,服務(wù)器回送應(yīng)答。(2)客戶發(fā)送的命令和服務(wù)器回送的應(yīng)答都是純文本形式,有一定格式。(4)會(huì)話過程有一定的順序 (4)客戶端和服務(wù)器分別向?qū)Ψ桨l(fā)送數(shù)據(jù)。(5)客戶端或服務(wù)器分別讀

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論