




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Socket網(wǎng)絡(luò)編程教學(xué)大綱 安徽大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院二O一七年三月課程性質(zhì)與設(shè)置目的要求Socket網(wǎng)絡(luò)編程課程是計(jì)算機(jī)網(wǎng)絡(luò)專業(yè)重要的專業(yè)選修課程。是為適應(yīng)計(jì)算機(jī)網(wǎng)絡(luò)人才的培養(yǎng)和實(shí)際需要而設(shè)置的。設(shè)置本課程的目的是:隨著社會(huì)的不斷發(fā)展進(jìn)步,計(jì)算機(jī)技術(shù)已經(jīng)深入我們?nèi)粘坦ぷ魃畹拿總€(gè)角落,無時(shí)無刻地影響著人們生活的方方面面。網(wǎng)絡(luò)技術(shù)作為與計(jì)算機(jī)技術(shù)相伴而生的產(chǎn)物, 也越發(fā)得到人們的認(rèn)識(shí)和重視。在這樣的背景下,本課程作為計(jì)算機(jī)網(wǎng)絡(luò)專業(yè)的專業(yè)基礎(chǔ)課,重在通過對(duì)計(jì)算機(jī)網(wǎng)絡(luò)原理的講授,向?qū)W生講授具體的基于套接字的windows網(wǎng)絡(luò)編程方法,使學(xué)生在理解基本原理的基礎(chǔ)上,掌握必要的網(wǎng)絡(luò)編程技能和相關(guān)專
2、業(yè)知識(shí)。培養(yǎng)學(xué)生的創(chuàng)新精神和實(shí)踐能力以及對(duì)計(jì)算機(jī)技術(shù)基本技能和綜合應(yīng)用能力。學(xué)習(xí)本課程的要求是:了解計(jì)算機(jī)網(wǎng)絡(luò)的基本結(jié)構(gòu)和工作原理,掌握windows平臺(tái)下計(jì)算機(jī)間進(jìn)行網(wǎng)絡(luò)通信的工作過程;理解常見網(wǎng)絡(luò)通信協(xié)議的具體內(nèi)容;了解常見的Windows編程技術(shù),重點(diǎn)掌握基于socket的Windows網(wǎng)絡(luò)編程方法。先修課程要求:計(jì)算機(jī)網(wǎng)絡(luò)、Windows編程等。本課程計(jì)劃18學(xué)時(shí),1學(xué)分。選用教材:Windows網(wǎng)絡(luò)編程羅莉琴 詹祖橋主著 人民郵電出版社教學(xué)手段:多媒體教學(xué)考核方法:由于課時(shí)有限,本課程采用寫小論文的方式進(jìn)行考核 教學(xué)進(jìn)程安排表:周次學(xué)時(shí)數(shù)教 學(xué) 主 要 內(nèi) 容教學(xué)環(huán)節(jié)備注13第一章
3、Internet與網(wǎng)絡(luò)通信模型概述一、Internet概述二、網(wǎng)絡(luò)通信模型和協(xié)議簇TCP/IP協(xié)議簇及其應(yīng)用講 授23第二章 TCP/IP協(xié)議簇及其應(yīng)用一、IP協(xié)議二、TCP和UDP協(xié)議三、其他常用協(xié)議協(xié)議講 授33第三章 IP地址和子網(wǎng)規(guī)劃一、IP地址二、子網(wǎng)劃分講 授43第四章 網(wǎng)絡(luò)編程基礎(chǔ)一、網(wǎng)絡(luò)編程的基本概念二、客戶機(jī)/服務(wù)器模式第五章 socket編程基礎(chǔ)一、Socket的產(chǎn)生與發(fā)展講 授53第五章 socket編程基礎(chǔ)二、Socket的原理和基本概念三、WinSock編程基礎(chǔ)四、面向連接的Socket編程五、面向非連接的socket編程六、socket選項(xiàng)講 授63第八章 高級(jí)so
4、cket編程技術(shù)一、Socket編程模型概述二、阻塞式與非阻塞式Socket編程三、基于三種模型的高級(jí)編程四、基于MFC的Socket編程講 授第一章 Internet與網(wǎng)絡(luò)通信模型概述一、學(xué)習(xí)目的本章作為學(xué)習(xí)本書的引言部分,介紹本書所要討論的網(wǎng)絡(luò)通信的基礎(chǔ)知識(shí),主要包括internet的發(fā)展歷程,internet管理機(jī)構(gòu)及現(xiàn)今互聯(lián)網(wǎng)的主要架構(gòu)和常用網(wǎng)絡(luò)通信協(xié)議。通過本章的學(xué)習(xí),需了解Internet的發(fā)展過程,。理解計(jì)算機(jī)網(wǎng)絡(luò)的組成和功能以及計(jì)算機(jī)網(wǎng)絡(luò)的分類方法和類型,重點(diǎn)需掌握計(jì)算機(jī)網(wǎng)絡(luò)常見的OSI模型。本章計(jì)劃3學(xué)時(shí)。二、課程內(nèi)容第一節(jié) Internet概述1. Internet的發(fā)展歷
5、史2. Internet的管理機(jī)構(gòu)3. 國(guó)內(nèi)Internet網(wǎng)絡(luò)建設(shè)的現(xiàn)狀第二節(jié) OSI模型圖1.1 OSI模型示意圖物理層(Physical Layer)OSI 模型的最低層或第一層,該層包括物理連網(wǎng)媒介,如電纜連線連接器。物理層的協(xié)議產(chǎn)生并檢測(cè)電壓以便發(fā)送和接收攜帶數(shù)據(jù)的信號(hào)。數(shù)據(jù)鏈路層(Datalink Layer)OSI 模型的第二層,它控制網(wǎng)絡(luò)層與物理層之間的通信。網(wǎng)絡(luò)層(Network Layer)OSI 模型的第三層,其主要功能是將網(wǎng)絡(luò)地址翻譯成對(duì)應(yīng)的物理地址,并決定如何將數(shù)據(jù)從發(fā)送方路由到接收方。傳輸層(Transport Layer)OSI 模型中最重要的一層。用于實(shí)現(xiàn)可靠穩(wěn)
6、定的數(shù)據(jù)傳輸。會(huì)話層(Session Layer)負(fù)責(zé)在網(wǎng)絡(luò)中的兩節(jié)點(diǎn)之間建立、維持和終止通信。表示層(Presentation Layer)應(yīng)用程序和網(wǎng)絡(luò)之間的翻譯官,在表示層,數(shù)據(jù)將按照網(wǎng)絡(luò)能理解的方案進(jìn)行格式化。應(yīng)用層(Application Layer)負(fù)責(zé)對(duì)軟件提供接口以使程序能使用網(wǎng)絡(luò)服務(wù)。第三節(jié) TCP/IP協(xié)議簇圖1.2 TCP/IP協(xié)議簇示意圖TCP/IP是一組協(xié)議的代名詞,包括許多別的協(xié)議,組成了TCP/IP協(xié)議簇。IP協(xié)議:即互聯(lián)網(wǎng)協(xié)議(Internet Protocol),它將多個(gè)網(wǎng)絡(luò)連成一個(gè)互聯(lián)網(wǎng),可以把高層的數(shù)據(jù)以多個(gè)數(shù)據(jù)包的形式通過互聯(lián)網(wǎng)分發(fā)出去。IP的基本任務(wù)是
7、通過互聯(lián)網(wǎng)傳送數(shù)據(jù)包,各個(gè)IP數(shù)據(jù)包之間是相互獨(dú)立的。TCP協(xié)議:即傳輸控制協(xié)議,它提供的是一種可靠的數(shù)據(jù)流服務(wù)。UDP協(xié)議:即用戶數(shù)據(jù)包協(xié)議。三、重點(diǎn)、難點(diǎn)提示和教學(xué)手段(一)OSI模型。(二)TCP/IP模型和OSI模型的對(duì)應(yīng)關(guān)系。四、思考與練習(xí)1.TCP/IP協(xié)議棧的五個(gè)層次是什么?在這些層次中,每層的主要任務(wù)是什么?第二章 TCP/IP協(xié)議簇及其應(yīng)用一、學(xué)習(xí)目的TCP/IP協(xié)議簇是Internet最基本的協(xié)議、也是國(guó)際互聯(lián)網(wǎng)絡(luò)的基礎(chǔ)。通過本章的學(xué)習(xí),要求TCP/IP協(xié)議的具體內(nèi)容和工作過程,為后面章節(jié)中基于這些協(xié)議編寫網(wǎng)絡(luò)應(yīng)用程序奠定基礎(chǔ)。本章計(jì)劃3學(xué)時(shí)。二、課程內(nèi)容第一節(jié) IP協(xié)議1
8、. IP協(xié)議基礎(chǔ)IP協(xié)議包含兩個(gè)最基本的功能,即尋址和分片。IP數(shù)據(jù)包的格式如圖2.1。 圖2.1 IP數(shù)據(jù)包的格式2. IP數(shù)據(jù)包各字段的含義:版本 目前使用的IP版本,大小為4位。 包頭長(zhǎng)度 用于指定數(shù)據(jù)包頭的長(zhǎng)度,大小為4位。 服務(wù)類型(TOS) 用于設(shè)置數(shù)據(jù)傳輸?shù)膬?yōu)先權(quán)或者優(yōu)先級(jí),大小為8位。 總長(zhǎng)度 用于指定數(shù)據(jù)包的總長(zhǎng)度,等于包頭長(zhǎng)度加上數(shù)據(jù)長(zhǎng)度,大小為16位。 標(biāo)識(shí) 用于指定當(dāng)前數(shù)據(jù)包的標(biāo)識(shí)號(hào),大小為16位。 分段標(biāo)志 確定一個(gè)數(shù)據(jù)包是否可以分段,同時(shí)也指出當(dāng)前分段后面是否還有更多分段,大小為3位。 分段偏移量 幫助目標(biāo)主機(jī)查找分段在整個(gè)數(shù)據(jù)包中的位置,大小為13位。 3. IP
9、協(xié)議的關(guān)鍵機(jī)制(根據(jù)實(shí)際課時(shí)安排)第二節(jié) TCP和UDP2.1 TCP協(xié)議TCP(Transmission Control Protocol,傳輸控制協(xié)議)是面向連接的傳輸協(xié)議,通過序列確認(rèn)和包重發(fā)機(jī)制提供可靠的數(shù)據(jù)流發(fā)送和應(yīng)用程序的虛擬連接服務(wù)。 圖2.2 TCP數(shù)據(jù)包示意圖TCP的工作流程:1TCP的狀態(tài)2建立連接 3數(shù)據(jù)傳輸 4斷開連接 2.2 UDP協(xié)議UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)可以提供一種基本的、低延時(shí)的數(shù)據(jù)報(bào)傳輸。UDP協(xié)議的主要作用是將網(wǎng)絡(luò)數(shù)據(jù)流量壓縮成數(shù)據(jù)報(bào)的形式進(jìn)行傳輸。每個(gè)數(shù)據(jù)報(bào)的前8個(gè)字節(jié)用來包含報(bào)頭信息,剩余字節(jié)則是具體的傳輸
10、數(shù)據(jù)。與TCP相比,UDP更適合發(fā)送數(shù)據(jù)量比較少、但對(duì)響應(yīng)速度要求比較高的情況。 圖2.3 UDP數(shù)據(jù)包示意圖第三節(jié) 其他常用協(xié)議ICMP協(xié)議為了使互聯(lián)網(wǎng)能報(bào)告差錯(cuò),或提供有關(guān)意外情況的信息,在IP層加入了一類特殊用途的報(bào)文機(jī)制,即ICMP。ARP協(xié)議把互聯(lián)網(wǎng)地址變換成物理地址,這就需要在網(wǎng)絡(luò)層有一組服務(wù)將 IP地址轉(zhuǎn)換為相應(yīng)物理網(wǎng)絡(luò)地址,這組協(xié)議即ARP。FTP協(xié)議即文件傳輸協(xié)議,它是網(wǎng)際提供的用于訪問遠(yuǎn)程機(jī)器的協(xié)議,它使用戶可以在本地機(jī)與遠(yuǎn)程機(jī)之間進(jìn)行有關(guān)文件的操作。DNS協(xié)議即域名服務(wù)協(xié)議,它提供域名到IP地址的轉(zhuǎn)換,允許對(duì)域名資源進(jìn)行分散管理。SMTP協(xié)議即簡(jiǎn)單郵件傳送協(xié)議互聯(lián)網(wǎng)標(biāo)準(zhǔn)中
11、的電子郵件是一個(gè)簡(jiǎn)單的基于文本的協(xié)議,用于可靠、有效地?cái)?shù)據(jù)傳輸。三、重點(diǎn)、難點(diǎn)提示和教學(xué)手段(一)IP協(xié)議的特點(diǎn)與基本內(nèi)容。IP地址及子網(wǎng)編址的基本方法。地址解析的基本概念與方法。IP分組的轉(zhuǎn)發(fā)與路由選擇的概念。(二)UDP協(xié)議的主要特點(diǎn)UDP的基本工作過程。UDP的端口號(hào)分配方法。UDP數(shù)據(jù)報(bào)格式。 (三)TCP協(xié)議主要特點(diǎn) TCP端口號(hào)分配與SOCKET地址 c) TCP報(bào)文段格式 d) TCP傳輸鏈接的建立與釋放 e) TCP流量與擁塞控制 f) TCP差錯(cuò)控制 g) TCP的計(jì)時(shí)器。四、思考與練習(xí)1.簡(jiǎn)述IP生存時(shí)間的含義和作用 2.簡(jiǎn)述TCP/IP的區(qū)別3. 簡(jiǎn)述ARP欺騙的原理和兩
12、種情況第三章 IP地址和子網(wǎng)規(guī)劃一、學(xué)習(xí)目的IP地址標(biāo)明了計(jì)算機(jī)在網(wǎng)絡(luò)中的位置,為了對(duì)網(wǎng)絡(luò)上海量的IP地址進(jìn)行管理,需依據(jù)IP地址的不同類型劃分成不同的子網(wǎng)。通過本章的學(xué)習(xí),應(yīng)使學(xué)生掌握如何進(jìn)行IP地址的表示與子網(wǎng)規(guī)模的計(jì)算,并了解不同表示方式下IP地址的具體含義。本章內(nèi)容計(jì)劃3學(xué)時(shí)。二、課程內(nèi)容第一節(jié) IP地址詳解 本節(jié)介紹IP地址的作用原理、分類和使用情況。1 IP地址的結(jié)構(gòu)點(diǎn)分十進(jìn)制表示法圖3.1 點(diǎn)分十進(jìn)制表示方法示意圖2 IP地址的分類A類地址,B類地址,C類地址,。3.特殊的IP地址1 355 4169.254.*.*第
13、二節(jié) 子網(wǎng)劃分1.子網(wǎng)隨著互聯(lián)網(wǎng)技術(shù)的應(yīng)用和普及,網(wǎng)絡(luò)的規(guī)模越來越大,為了提高IP地址使用效率便于管理,將網(wǎng)絡(luò)劃分為若干個(gè)子網(wǎng)1減少網(wǎng)絡(luò)擁塞,把大量用戶放在單個(gè)網(wǎng)段上容易擁擠。2可以支持不同的網(wǎng)絡(luò)技術(shù),支持異構(gòu)網(wǎng)絡(luò) 3保證網(wǎng)絡(luò)的安全性,可以用路由器將一個(gè)網(wǎng)段和另一個(gè)隔開4可以減少?gòu)V播的影響,實(shí)現(xiàn)更小的廣播域5解決不同物理空間的主機(jī)使用同一網(wǎng)絡(luò)圖3.2 子網(wǎng)劃分示意圖2 子網(wǎng)掩碼子網(wǎng)掩碼與IP地址類似,由32位二進(jìn)制數(shù)組成。IP地址中的網(wǎng)絡(luò)ID位,其子網(wǎng)掩碼中對(duì)應(yīng)的位等于1其余位等于0 第三節(jié) 實(shí)際應(yīng)用1 CIDR表示法CIDR表示法以標(biāo)識(shí)網(wǎng)絡(luò)ID的比特位作為網(wǎng)絡(luò)前綴,取代了A類、B類和C類等地
14、址中固定的網(wǎng)絡(luò)ID位數(shù)。2 單播、組播和廣播地址單播主機(jī)之間“一對(duì)一”的通訊模式,網(wǎng)絡(luò)中的交換機(jī)和路由器對(duì)數(shù)據(jù)只進(jìn)行轉(zhuǎn)發(fā)不進(jìn)行復(fù)制廣播主機(jī)之間“一對(duì)所有”的通訊模式組播主機(jī)之間“一對(duì)一組”的通訊模式三、重點(diǎn)、難點(diǎn)提示和教學(xué)手段重點(diǎn):幾類不同的IP地址;為什么要進(jìn)行子網(wǎng)劃分,子網(wǎng)掩碼的作用。難點(diǎn):各類網(wǎng)絡(luò)中網(wǎng)絡(luò)IP的數(shù)量計(jì)算和子網(wǎng)掩碼。四、思考與練習(xí)1. 簡(jiǎn)述IPv4地址的結(jié)構(gòu)和表示方法?2. 簡(jiǎn)述IP地址的不同分類?3. 簡(jiǎn)述單播地址、組播地址和廣播地址的定義和作用?第五章 網(wǎng)絡(luò)編程基礎(chǔ)一、學(xué)習(xí)目的本章首先介紹網(wǎng)絡(luò)編程相關(guān)的基本概念,重點(diǎn)分析進(jìn)程通信、Internet中網(wǎng)間進(jìn)程的標(biāo)識(shí)方法以及網(wǎng)
15、絡(luò)協(xié)議的特征。接著從網(wǎng)絡(luò)編程的角度,分析TCP/IP協(xié)議簇中高效的用戶數(shù)據(jù)報(bào)協(xié)議(UDP)和可靠的傳輸控制協(xié)議(TCP)的特點(diǎn)。最后詳細(xì)說明網(wǎng)絡(luò)應(yīng)用程序的客戶機(jī)/服務(wù)器交互模式。計(jì)劃3學(xué)時(shí)。二、課程內(nèi)容第一節(jié) 網(wǎng)絡(luò)編程的基本概念4.1網(wǎng)絡(luò)編程相關(guān)的基本概念 4.1.1 網(wǎng)絡(luò)編程與進(jìn)程通信 進(jìn)程與線程的基本概念 網(wǎng)絡(luò)應(yīng)用進(jìn)程在網(wǎng)絡(luò)體系結(jié)構(gòu)中的位置 實(shí)現(xiàn)網(wǎng)間進(jìn)程通信必須解決的問題 4.1.2 Internet中網(wǎng)間進(jìn)程的標(biāo)識(shí) 傳輸層在網(wǎng)絡(luò)通信中的地位 端口的概念 端口號(hào)的分配機(jī)制 進(jìn)程的網(wǎng)絡(luò)地址的概念 網(wǎng)絡(luò)中進(jìn)程通信的標(biāo)識(shí)4.1.3 網(wǎng)絡(luò)協(xié)議的特征 4.1.4 高效的用戶數(shù)據(jù)報(bào)協(xié)議 4.1.5 可
16、靠的傳輸控制協(xié)議 第二節(jié) 三類網(wǎng)絡(luò)編程(根據(jù)實(shí)際課時(shí)安排)4.2 三類網(wǎng)絡(luò)編程4.2.1 基于TCP/IP協(xié)議棧的網(wǎng)絡(luò)編程4.2.2 基于WWW應(yīng)用的網(wǎng)絡(luò)編程4.2.3 基于.NET框架的Web Services網(wǎng)絡(luò)編程第三節(jié) 客戶機(jī)/服務(wù)器交互模式4.3 客戶機(jī)/服務(wù)器模式4.3.1 網(wǎng)絡(luò)應(yīng)用軟件的地位和功能 4.3.2 客戶機(jī)/服務(wù)器模式 4.3.3 客戶機(jī)與服務(wù)器的特性 4.3.4 容易混淆的術(shù)語 4.3.5 客戶機(jī)與服務(wù)器的通信過程 4.3.6 網(wǎng)絡(luò)協(xié)議與C/S模式的關(guān)系 4.3.7 錯(cuò)綜復(fù)雜的C/S交互 4.3.8 服務(wù)器如何同時(shí)為多個(gè)客戶機(jī)服務(wù) 4.3.9 標(biāo)識(shí)一個(gè)特定服務(wù) 4.4
17、 P2P模式4.4.1 P2P技術(shù)的興起 4.4.2 P2P的定義和特征 4.4.3 P2P的發(fā)展 三、重點(diǎn)、難點(diǎn)提示和教學(xué)手段(一)進(jìn)程間進(jìn)行通信的方式(二)客戶機(jī)和服務(wù)器模式(三)本章難點(diǎn)是理解進(jìn)程間的通信方式以及客戶機(jī)/服務(wù)器模式。四、思考與練習(xí)1.TCP/IP通信中端口的概念是什么?2.C/S模式下的工作過程是怎么樣的?3.P2P有怎樣的特征?第六章 Socket 編程基礎(chǔ)一、學(xué)習(xí)目的Socket起源于BSD UNIX的進(jìn)程通信機(jī)制,通常也稱作“套接字”。在開發(fā)網(wǎng)絡(luò)應(yīng)用程序時(shí),最重要的問題就是如何實(shí)現(xiàn)不同主機(jī)之間的通信。在TCP/IP網(wǎng)絡(luò)環(huán)境中,可以使用Socket接口來建立網(wǎng)絡(luò)連接、
18、實(shí)現(xiàn)主機(jī)之間的數(shù)據(jù)傳輸。本章將介紹使用Socket接口來編寫網(wǎng)絡(luò)應(yīng)用程序的基本方法。Socket編程基礎(chǔ)計(jì)劃4學(xué)時(shí)。二、課程內(nèi)容第一節(jié) Socket協(xié)議原理6.1 Socket協(xié)議原理6.1.1 Socket協(xié)議的工作原理 圖6.1 Socket接口所處層次示意圖6.1.2 Socket的服務(wù)方式和類型 在Socket通信中,套接字分為3種類型,即流式套接字(SOCK_STREAM)、數(shù)據(jù)報(bào)式套接字(SOCK_DGRAM)和原始套接字(SOCK_RAW)。 6.2 WinSock 編程基礎(chǔ)6.2.1 構(gòu)建WinSock應(yīng)用程序框架 6.2.2 IP地址的表示形式第二節(jié) 面向連接的Socket編
19、程6.3 面向連接的Socket編程圖6.2 基于流式套接字的程序結(jié)構(gòu)示意圖關(guān)鍵函數(shù)- socket()函數(shù)- bind()函數(shù)- listen()函數(shù)- accept()函數(shù)- recv()函數(shù)- send()函數(shù)- closesocket()函數(shù)- shutdown()函數(shù)- connect()函數(shù)第三節(jié) 面向非連接的Socket編程6.4 面向非連接的Socket編程6.4.1 面向非連接的Socket通信流程關(guān)鍵函數(shù)sendto()函數(shù)recvfrom()函數(shù)圖6.3 基于數(shù)據(jù)報(bào)式套接字的程序結(jié)構(gòu)示意圖6.5 套接字選項(xiàng)6.5.1 調(diào)用getsockopt()函數(shù)獲取套接字選項(xiàng)6.5.
20、2 調(diào)用setsockopt()函數(shù)設(shè)置套接字選項(xiàng)三、重點(diǎn)、難點(diǎn)提示和教學(xué)手段(一)使用Socket進(jìn)行網(wǎng)絡(luò)連接的通信架構(gòu)(二)具體的Socket函數(shù)的功能(三)本章使用課堂講解和實(shí)際編程演示相結(jié)合的授課方式四、思考與練習(xí)1.Socket的基本概念是什么?2.Socket的主要工作過程是什么樣的?3.IP地址在Socket編程過程中如何進(jìn)行表示?第八章 高級(jí)Socket 編程一、學(xué)習(xí)目的我們?cè)诘?章中介紹了Socket編程的基礎(chǔ)技術(shù),實(shí)現(xiàn)了簡(jiǎn)單的服務(wù)器和客戶機(jī)通信。但在實(shí)際應(yīng)用中,服務(wù)器有時(shí)需要同時(shí)與很多客戶端進(jìn)行通信,對(duì)服務(wù)器的性能要求很高。要在Windows平臺(tái)上構(gòu)建高效、真正實(shí)用的客戶機(jī)
21、/服務(wù)器應(yīng)用程序,就必須選擇最適合的Socket編程模型。 3課時(shí),其中補(bǔ)充內(nèi)容占約0.5課時(shí)二、課程內(nèi)容第一節(jié) Socket協(xié)議原理8.1 Socket編程模型概述 8.2 阻塞與非阻塞模式Socket編程 8.2.1 設(shè)置非阻塞模式套接字 8.3 基于Select模型的socket編程采用以下步驟便可完成select操作一個(gè)或多個(gè)套接字句柄的全過程:1.使用FD_ZERO初始化需要考察的每個(gè)fd_set 2.使用FD_SET將套接字句柄分配給需要考察的fd_set 3.調(diào)用select函數(shù),返回在所有fd_set集合中設(shè)置的套接字句柄總數(shù),并對(duì)每個(gè)集合進(jìn)行相應(yīng)的更新4.根據(jù)select的返
22、回值,應(yīng)用程序便可判斷哪些套接字存在著被掛起的I/O操作(具體的方法是使用FD_ISSET宏,對(duì)每個(gè)fd_set進(jìn)行檢查) 5.得到了每個(gè)集合中被掛起的I/O操作之后,對(duì)I/O進(jìn)行處理,然后返回步驟1,繼續(xù)處理select6.select返回后,它會(huì)修改每個(gè)fd_set結(jié)構(gòu)。刪除那些不存在被掛起的I/O操作的套接字句柄。第二節(jié) WSAAsyncSelect模型8.4 基于WSAAsyncSelect模型的socket編程基于WSAAsyncSelect()模型的Socket通信服務(wù)器的基本流程如下:(1)調(diào)用WSAAsyncSelect()函數(shù)為套接字設(shè)置網(wǎng)絡(luò)事件、用戶消息和消息接收窗口之間的關(guān)系。 (2)在消息接收窗口的消息映射代碼中,添加ON_MESSAGE宏,設(shè)置用戶消息的處理函數(shù)。 (3)編寫用戶處理函數(shù)(窗口例程),在該函數(shù)中應(yīng)首先使用WSAGETSELECTERROR宏判斷是否有錯(cuò)誤發(fā)生;然后根據(jù)wParam值了解套接字上發(fā)生了什么網(wǎng)絡(luò)事件,從而引發(fā)用戶消息;最后使用WSAGETSELECTEVENT宏來了解所發(fā)生的網(wǎng)絡(luò)事件,進(jìn)行相應(yīng)的處理。第三節(jié) WSAEventSelect模型8.6 基于WSAEventSelect模型的socket編程基于WSAEventSelect模型的Socket通信服務(wù)器的基本流程如下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西軟件職業(yè)技術(shù)大學(xué)《工程力學(xué)(下)》2023-2024學(xué)年第二學(xué)期期末試卷
- 南通科技職業(yè)學(xué)院《經(jīng)濟(jì)法學(xué)A》2023-2024學(xué)年第二學(xué)期期末試卷
- 合肥職業(yè)技術(shù)學(xué)院《數(shù)字信號(hào)處理與通信》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年湖北省部分省級(jí)示范高中高二上學(xué)期期中測(cè)試歷史試卷
- 江西工程學(xué)院《環(huán)境評(píng)價(jià)》2023-2024學(xué)年第二學(xué)期期末試卷
- 六盤水幼兒師范高等??茖W(xué)?!睹褡迮c文化地理》2023-2024學(xué)年第二學(xué)期期末試卷
- 信陽涉外職業(yè)技術(shù)學(xué)院《數(shù)字邏輯電路綜合》2023-2024學(xué)年第二學(xué)期期末試卷
- 昆山登云科技職業(yè)學(xué)院《專業(yè)技能訓(xùn)練化學(xué)教學(xué)技能與訓(xùn)練含》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南勞動(dòng)人事職業(yè)學(xué)院《建筑給排水與消防》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州華商職業(yè)學(xué)院《劇目》2023-2024學(xué)年第二學(xué)期期末試卷
- 部編版三年級(jí)下冊(cè)語文第一單元教材解讀PPT課件
- 【2022】154號(hào)文附件一:《江蘇省建設(shè)工程費(fèi)用定額》(2022年)營(yíng)改增后調(diào)整內(nèi)容[10頁]
- 二年級(jí)剪窗花
- 分子生物學(xué)在醫(yī)藥中的研究進(jìn)展及應(yīng)用
- 《對(duì)折剪紙》)ppt
- 03SG520-1實(shí)腹式鋼吊車梁(中輕級(jí)工作制A1~A5_Q235鋼_跨度6.0m、7.5m、9.0m)
- 以虛報(bào)注冊(cè)資本、虛假出資、抽逃出資為由對(duì)實(shí)行認(rèn)繳資本登記制的公司進(jìn)行處罰無法律依據(jù)
- 風(fēng)電場(chǎng)生產(chǎn)運(yùn)營(yíng)準(zhǔn)備大綱11.14
- 人教版八年級(jí)語文下冊(cè)教材研說
- 《機(jī)械制造裝備設(shè)計(jì)》ppt課件
- 中學(xué)家訪記錄大全100篇 關(guān)于中學(xué)家訪隨筆
評(píng)論
0/150
提交評(píng)論