windows网络编程基础.ppt
《windows网络编程基础.ppt》由会员分享,可在线阅读,更多相关《windows网络编程基础.ppt(55页珍藏版)》请在三一办公上搜索。
1、Windows网络编程技术,南昌大学何俊,一.学习目的 培养网络软件开发技术人员 二.总学时:64 课时安排:理论32,上机32三.理论学习内容 1 windows 网络编程基础 2 VC+6.0 3 基于winsock的网络编程 4 单机资源共享的应用编程 5 高级网络编程(MFC),四.上机实验内容(共包括16个实验,每个2个学时)实验一 熟悉网络编程环境实验二 创建Windows窗口应用程序实验三 创建菜单程序、对话框程序实验四 TCP套接字编程实验五 UDP套接字编程实验六 利用互斥对象实现线程同步实验七 利用事件对象实现线程同步实验八 利用关键代码段对象实现线程同步实验九 多线程聊天
2、程序编程实验十 基于消息的异步套接字编程实验十一 基于剪贴板的进程通信实验十二 基于匿名管道的进程通信实验十三 基于命名管道的进程通信实验十四 基于邮槽的进程通信实验十五 动态链接库的创建与应用实验十六 基于MFC编写一个网络应用程序,参考书,1.windows网络编程技术胡鸣,科学技 术出版社.2008.62.精通windows sockets孙海民,人 民邮电出版社.2008.73.windows网络编程第二版,琼斯,杨 合庆译,清华大学出版社。,考核方式,作业考勤,第一章 Windows网络编程基础,南昌大学,本章内容,1.1 Windows网络编程基础知识 1.1.1 常用的网络应用实
3、例 1.1.2 网络应用的特点 1.1.3 网络编程基础知识1.2 Windows环境下的应用程序 1.2.1 应用程序的形态 1.2.2 应用程序的运行环境 1.2.3 应用程序的开发环境VC+1.3 Windows环境下的网络应用程序 1.3.1 网络应用程序的系统支持 1.3.2 网络应用程序运行环境的问题 1.3.3 网络应用程序的应用模型,1.1 Windows网络编程基础知识,常用的网络应用实例目的:开发网络应用程序,提供互联网服务浏览器:浏览新闻、文献检索、论坛、在线收看影视等电子邮件:可非即时收发。如foxmail、outlook等文件传输服务:可共享软件资源。如BT。个人聊天
4、:QQ、MSN、聊天室网络游戏:网络围棋、三国等网络安全:防火墙、杀毒软件,如瑞星等网络应用:在线考试等,网络应用的特点,1)网络服务至少需要2台以上计算机支持;2)每台计算机运行的网络应用进程与该计算机上的其它进程共享该机器上的系统资源;3)网络应用进程之间的通信由标准化的I/O接口(如网卡)以及其它连接硬件支持;4)网络进程通信,由计算机网络协议(如TCP/IP)支持。5)具有虚拟设备的功能。必须建立标准的通信规范。,1.1.3 网络编程基础知识,A,B,协议,协议,端口号,端口号,IP地址,IP网络中每台主机都必须有一个唯一的IP地址;IP地址是一个逻辑地址;因特网上的IP地址具有全球唯
5、一性;32位,4个字节,常用点分十进制的格式表示,例如:,协议,为进行网络中的数据交换(通信)而建立的规则、标准或约定。(=语义+语法+规则)不同层具有各自不同的协议。,网络的状况,多种通信媒介有线、无线不同种类的设备通用、专用不同的操作系统Unix、Windows 不同的应用环境固定、移动不同业务种类分时、交互、实时用户业务的延续性不允许出现大的跌宕起伏。它们互相交织,形成了非常复杂的系统应用环境。,网络异质性问题的解决,网络体系结构就是使这些用不同媒介连接起来的不同设备和网络系统在不同的应用环境下实现互操作性,并满足各种业务需求的一种粘合剂,它营造了一种“生存空间”任何厂商的任何产品、以及
6、任何技术只要遵守这个空间的行为规则,就能够在其中生存并发展。网络体系结构解决异质性问题采用的是分层方法 把复杂的网络互联问题划分为若干个较小的、单一的问题,在不同层上予以解决。就像我们在编程时把问题分解为很多小的模块来解决一样。,ISO/OSI七层参考模型,OSI(Open System Interconnection)参考模型将网络的不同功能划分为7层。,应用层,表示层,物理层,会话层,传输层,网络层,数据链路层,处理网络应用,数据表示,主机间通信,端到端的连接,寻址和最短路径,介质访问(接入),二进制传输,ISO/OSI七层参考模型,通信实体的对等层之间不允许直接通信。各层之间是严格单向依
7、赖。上层使用下层提供的服务 Service user;下层向上层提供服务 Service provider。,对等通信示例,对等层通信的实质,对等层实体之间虚拟通信。下层向上层提供服务,实际通信在最底层完成。,OSI各层所使用的协议,应用层:远程登录协议Telnet、文件传输协议FTP、超文本传输协议HTTP、域名服务DNS、简单邮件传输协议SMTP、邮局协议POP3等。传输层:传输控制协议TCP、用户数据报协议UDP。TCP:面向连接的可靠的传输协议。UDP:是无连接的,不可靠的传输协议。网络层:网际协议IP、Internet互联网控制报文协议ICMP、Internet组管理协议IGMP。,
8、数据封装,一台计算机要发送数据到另一台计算机,数据首先必须打包,打包的过程称为封装。封装就是在数据前面加上特定的协议头部。,数据,数据,协议头,数据封装,OSI参考模型中,对等层协议之间交换的信息单元统称为协议数据单元(PDU,Protocol Data Unit)。OSI参考模型中每一层都要依靠下一层提供的服务。为了提供服务,下层把上层的PDU作为本层的数据封装,然后加入本层的头部(和尾部)。头部中含有完成数据传输所需的控制信息。这样,数据自上而下递交的过程实际上就是不断封装的过程。到达目的地后自下而上递交的过程就是不断拆封的过程。由此可知,在物理线路上传输的数据,其外面实际上被包封了多层“
9、信封”。但是,某一层只能识别由对等层封装的“信封”,而对于被封装在“信封”内部的数据仅仅是拆封后将其提交给上层,本层不作任何处理。,TCP/IP模型,TCP/IP起源于美国国防部高级研究规划署(DARPA)的一项研究计划实现若干台主机的相互通信。现在TCP/IP已成为Internet上通信的工业标准。TCP/IP模型包括4个层次:应用层传输层网络层网络接口,TCP/IP与OSI参考模型的对应关系,7654321,OSI参考模型,TCP/IP模型,端口,按照OSI七层模型的描述,传输层提供进程(应用程序)通信的能力。为 了标识通信实体中进行通信的进程(应用程序),TCP/IP协议提出了协议端口(
10、protocol port,简称端口)的概念。端口是一种抽象的软件结构(包括一些数据结构和I/O缓冲区)。应用程序通过系统调用与某端口建立连接(binding)后,传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都通过该端口输出。端口用一个整数型标识符来表示,即端口号。端口号跟协议相关,TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立。端口使用一个16位的数字来表示,它的范围是065535,1024以下的端口号保留给预定义的服务。例如:http使用80端口。,套接字(socket)的引入,为了能够方便的开发网络应用软件,由美国伯
11、克利大学在Unix上推出了一种应用程序访问通信协议的操作系统调用socket(套接字)。socket的出现,使程序员可以很方便地访问TCP/IP,从而开发各种网络应用的程序。随着Unix的应用推广,套接字在编写网络软件中得到了极大的普及。后来,套接字又被引进了Windows等操作系统,成为开发网络应用程序的非常有效快捷的工具。套接字存在于通信区域中。通信区域也叫地址族,它是一个抽象的概念,主要用于将通过套接字通信的进程的共有特性综合在一起。套接字通常只与同一区域的套接字交换数据(也有可能跨区域通信,但这只在执行了某种转换进程后才能实现)。Windows Sockets只支持一个通信区域:网际域
12、(AF_INET),这个域被使用网际协议簇通信的进程使用。,套接字模型,网络字节顺序,不同的计算机存放多字节值的顺序不同,有的机器在起始地址存放低位字节(低位先存),有的机器在起始地址存放高位字节(高位先存)。基于Intel的CPU,即我们常用的PC机采用的是低位先存。为保证数据的正确性,在网络协议中需要指定网络字节顺序。TCP/IP协议使用16位整数和32位整数的高位先存格式。所以在网络中不同主机进行通信时,要统一采用网络字节顺序。,客户机服务器模式,在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户机/服务器模式(client/server),即客户向服务器提出请求,服务器
13、接收到请求后,提供相应的服务。客户机/服务器模式的建立基于以下两点:首先,建立网络的起因是网络中软硬件资源、运算能力和信息不均等,需要共享,从而造就拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对等作用。其次,网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,因此需要一种机制为希望通信的进程间建立联系,为二者的数据交换提供同步,这就是基于客户机/服务器模式的TCP/IP。,客户机服务器模式,客户机/服务器模式在操作过程中采取的是主动请求的方式。首先服务器方要先启动,并根据请求提供相应的服务:打开一个通信通道并告知本地主机,它愿意在某一地址和端口上接收客户
14、请求。等待客户请求到达该端口。接收到重复服务请求,处理该请求并发送应答信号。接收到并发服务请求,要激活一个新的进程(或线程)来处理这个客户请求。新进程(或线程)处理此客户请求,并不需要对其它请求作出应答。服务完成后,关闭此新进程与客户的通信链路,并终止。返回第二步,等待另一客户请求。关闭服务器。客户方:打开一个通信通道,并连接到服务器所在主机的特定端口。向服务器发服务请求报文,等待并接收应答;继续提出请求。请求结束后关闭通信通道并终止。,1.2 Windows环境下的应用程序,1.2.1 应用程序的形态1.2.2 应用程序的运行环境1.2.3 应用程序的开发环境VC+,1.2.1 应用程序的形
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- windows 网络 编程 基础

链接地址:https://www.31ppt.com/p-6523756.html