课件第章网络编程PPT课件.ppt

上传人:优*** 文档编号:127691346 上传时间:2020-04-04 格式:PPT 页数:77 大小:765.50KB
返回 下载 相关 举报
课件第章网络编程PPT课件.ppt_第1页
第1页 / 共77页
课件第章网络编程PPT课件.ppt_第2页
第2页 / 共77页
课件第章网络编程PPT课件.ppt_第3页
第3页 / 共77页
课件第章网络编程PPT课件.ppt_第4页
第4页 / 共77页
课件第章网络编程PPT课件.ppt_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《课件第章网络编程PPT课件.ppt》由会员分享,可在线阅读,更多相关《课件第章网络编程PPT课件.ppt(77页珍藏版)》请在金锄头文库上搜索。

1、第15章网络编程 C 高级编程 1 本章主要教学内容 简略介绍网络的基本知识 功能及协议 客户机 服务器的网络模型及其原理 网络应用程序的编写 客户端应用程序 服务器端应用程序 浏览器程序 电子邮件发送程序 2 15 1网络概述 计算机网络 地理位置不同 具有独立功能的多个计算机系统 通过通信设备和线路互相连接起来 使用功能完整的网络软件来实现网络资源共享的大系统 称为计算机网络 计算机网络从结构上可以分乘两部分 资源子网和通信子网 计算机网络的组成 3 15 1网络概述 计算机网络组成示意图 4 15 1网络概述 计算机网络结构示意图 5 资源子网 负责全网的数据处理以及向网络用户提供网络资

2、源及网络服务等 一般由主计算机系统 终端 各种硬件和软件资源和数据资源等组成 通信子网 为资源子网提供信息传送服务 是支持资源子网上用户之间相互通信的基本环境 一般由通信控制器 集线器 调制解调器 网络通信媒体等组成 15 1网络概述 6 计算机网络的分类 按网络覆盖的地理范围可分为 局域网LAN localareanetwork 城域网MAN metropolitanareanetwork 广域网WAN wideareanetwork 15 1网络概述 7 其它分类有 按交换方式 按传输媒体等分类 按网络拓扑结构可分为 星型网络 总线型网络 环型网络 网格型网络 15 1网络概述 8 计算机

3、网络功能主要有 数据通信 资源共享 共享硬件 软件 信息和知识等 分布式数据处理 提高可靠性 15 1网络概述 9 计算机网络的体系结构有两大类 对等网络和基于服务器的网络 对等网络的特点 在对等网络中 没有专用的服务器 网上所有的计算机地位是平等的 网上所有计算机都既是客户机又是服务器 每台计算机的用户自己决定将其计算机中的哪些数据共享到网络中去 没有负责整个网络管理的网络管理员 15 1网络概述 10 对等网络的优点 规模小 成本低 实现简单 15 1网络概述 基于服务器的网络的特点 网络中有专用服务器 或主机 网络中有客户机 或终端 有网络操作系统和网络管理员对网络进行统一管理 11 基

4、于服务器的网络的优点 易于管理共享资源 安全性好 数据备份方便 网络规模基本不受限制 15 1网络概述 12 15 1网络概述 基于服务器的网络结构又分为 Client Server结构 胖客户机 Browser Server结构 瘦客户机 13 服务器Server 一台能够提供和管理可共享资源的计算机 客户机Client 能够使用服务器上的可共享资源的计算机 Client Server 客户机 服务器 结构 15 1网络概述 14 服务器需要运行某一种网络操作系统 例如WindowsServer2003 NovellNetware Unix等 通常有多台客户机连接到同一台服务器上 它们除了能

5、运行自己的应用程序外 还可以通过网络获得服务器的服务 在这种以服务器为中心的网络中 一旦服务器出现故障或者被关闭 整个网络将无法正常运行 15 1网络概述 15 15 1 1客户机 服务器模型 客户机 服务器模型的工作原理 请求 通信设施 请求 响应 客户端 服务器端 16 15 1 1客户机 服务器模型 采用客户机 服务器模型的原因 不对等现象的存在 服务器端有丰富的资源 强大的运算能力 可存放大量的资源和信息 而客户端在软硬件的配置上相对薄弱 不可能也没有必要在每一台客户机上存放大量资源 为节约资源 提高利用率和使用效率 让服务器上的资源公有 让多个客户端共享这些资源 17 2 异步性客户

6、机 服务器模式可以很好地支持异步性操作 方便远程通信的实现 15 1 1客户机 服务器模型 18 15 1 2网络协议 通俗地说 网络协议就是网络之间沟通 交流的桥梁 只有相同网络协议的计算机才能进行信息的沟通与交流 这就好比人与人之间交流所使用的各种语言一样 只有使用相同语言才能正常 顺利地进行交流 从专业角度定义 网络协议是计算机在网络中实现通信时必须遵守的约定 也就是通信协议 主要是对信息传输的速率 传输代码 代码结构 传输控制步骤 出错控制等作出规定并制定出标准 1 什么是网络协议 19 15 1 2网络协议 1984年 国际标准组织ISO公布了一个作为未来网络协议指南的模型 该模型被

7、称为开放系统互联模型OSI 虽然完全遵守OSI的网络产品并没有成为网络市场上的标准 但OSI还是可以提供一个概念上和功能上的框架 可以作为学习网络知识的依据 作为网路实现的参考 2 ISO OSI参考模型 20 15 1 2网络协议 OSI参考模型采用分层结构 将所有互联的开放系统划分为功能上相对独立的七层 从最基本的物理连接到最高层次的应用 关于OSI参考模型的详细知识见附带文件1 21 15 1 2网络协议 虽然OSI参考模型的实际应用意义不是很大 但它对于理解网络协议内部的运作的确很有帮助 也为我们学习网络协议提供了一个很好的参考 在现实网络世界里 TCP IP协议栈获得了更为广泛的应用

8、 22 TCP IP协议 TransmissionControlProtocol InternetProtocol 叫做传输控制 网际协议 又叫网络通讯协议 这个协议是Internet国际互联网络的基础 15 1 2网络协议 3 TCP IP协议模型 23 TCP IP协议是70年代中期美国国防部为其ARPANET广域网开发的网络体系结构和协议标准 以它为基础组建的INTERNET是目前国际上规模最大的计算机网络 正因为INTERNET的广泛使用 使得TCP IP成了事实上的标准 15 1 2网络协议 24 TCP IP是网络中使用的基本的通信协议 虽然从名字上看TCP IP包括两个协议 传输

9、控制协议 TCP 和网际协议 IP 但TCP IP实际上是一组协议 它包括TCP IP UDP ICMP RIP TELNET FTP SMTP ARP TFTP等许多协议 这些协议一起称为TCP IP协议 关于TCP IP协议的基础知识见附带文件1 15 1 2网络协议 25 15 1 2网络协议 3 UDP协议 UserDataProtocol用户数据报协议UDP与TCP IP的差异 UDP直接利用IP协议进行UDP数据报的传输 UDP提供的是无连接的 不可靠的数据报投递服务 UDP常用于数据量少的数据传输 当使用UDP协议传输信息流时 用户负责解决排序 差错确认等问题 26 网络编程方法

10、 15 2网络应用程序编写 15 2 1网络编程的概述 Socket WinSocket RPC 命名管道邮箱 27 1 什么是Socket 15 2 1网络编程的概述 一 Socket 套接字 Socket 最初是由加利福尼亚大学Berkeley分校为UNIX操作系统开发的网络通信接口 20世纪80年代初 加利福尼亚大学Berkeley将美国国防部高研署提供的TCP IP集成到Unix中 并很快开发了TCP IP应用程序接口 API 即Socket 套接字 接口 随着UNIX操作系统的广泛使用 套接字成为当前最流行的网络通信应用程序接口之一 28 15 2 1网络编程的概述 90年代初 由S

11、unMicrosystems JSBCorporation FTPsoftware Microdyne和Microsoft等几家公司共同制定了一套标准 即WindowsSockets规范 它是BerkeleySockets的重要扩充 主要体现在它增加了一些异步函数和符合Windows消息驱动特性的网络事件异步选择机制 WindowsSockets规范是一套开放的 支持多种协议的Windows下的网络编程接口 目前实际应用中的WindowsSockets规范主要有1 1版和2 0版 其中1 1版只支持TCP IP协议 而2 0版支持多协议 并具有良好的向后兼容性 29 15 2 1网络编程的概述

12、 Socket实际上是指一个通信端点 借助于它 用户所开发的Socket应用程序 可以通过网络与其它Socket应用程序进行通信 套接字sockets是支持TCP IP协议的网络通信的基本操作单元 可以将套接字看作不同主机间的进程进行双向通信的端点 它构成了在单个主机内及整个网际间的编程界面 30 15 2 1网络编程的概述 一般来说 跨机应用进程之间要在网络环境下进行通信 必须要在网络的每一端都要建立一个套接字 两个套接字之间可以是建立连接的 也可以是无连接的 并通过对套接字的 读 写 操作实现网络通信功能 像文件那样有打开 读 写 关闭的方式 31 15 2 1网络编程的概述 2 套接字S

13、ocket的分类 根据传输数据类型的不同 套按字可分为面向连接的字节流套接字 streamsockets 和面向无连接的数据报套接字 datagramsockets 两种类型 32 15 2 1网络编程的概述 提供没有记录边界的数据流 字节流不按记录定界 可以是双向的字节流 应用程序是全双工 可以通过套接字同时传输和接收 可依赖流传递有序的 不重复的数据 有序 指数据包按发送顺序送达 不重复 指一个特定的数据包只能获取一次 这能确保收到流消息 而流非常适合处理大量数据 1 字节流套接字 33 15 2 1网络编程的概述 在TCP IP协议簇中对应TCP协议 通信端点使用TCP对应的INTERN

14、ET地址互相连接 可保证按正确的顺序以及单一和可靠的地址传输数据 包长没有限制 信包的传输也不重复 34 15 2 1网络编程的概述 2 数据报套接字 数据报套接字支持双向数据流 此数据流不能保证按顺序和不重复送达 在TCP IP协议簇中对应UDP协议 通信端点使用UDP对应的INTERNET地址 不能保证所有数据都准确有序地到达目的地 不保证顺序性 可靠性和无重复性 35 15 2 1网络编程的概述 利用数据报服务可实现一些简单的网络服务 如网点检测程序PING 由于不建立连接 数据报协议的连接比字节流协议快 双方不需要互连 按固定的最大长度进行传输 因而适用于单个报文传输 或较小文件的传输

15、 36 15 2 1网络编程的概述 3 套接字Socket的编程要点和过程 不论是哪种套接字编程 采用的都是客户机 服务器方式 其运作过程基本类似 字节流套接字的服务进程和客户进程 在通信前必须创建各自的套接字以建立连接 然后对相应的套接字进行 读 写 操作 实现信息的交换 37 15 2 1网络编程的概述 1 服务器进程创建套接字 服务进程总是先于客户进程启动 服务进程首先调用socket 函数创建自已端的一个字节流套接字 并提供三个参数 网络地址类型 一般取AF INEF 套接字类型 这里取SOCK STREAM 网络协议 缺省为TCP IP协议 对应参数为0 38 15 2 1网络编程的

16、概述 给套接字地址变量赋初值 在生成套接字后 要用服务器的地址先对sockaddr in结构变量赋初值 sockaddr in在 usr include netinet in h中有定义 它只适用于INTERNET地址类型 含有INTERNET套接字地址类型 IP端口号 IP地址等信息 地址类型可取定为AF INET IP地址对服务器可取任意合法地址INADDR ANY IP端口号可由用户设定 但要注意主机字节顺序向网络字节顺序的转换 39 15 2 1网络编程的概述 给套接字命名 由socket 函数创建的套接字是没有名字的 所谓命名 就是用bind 函数将服务器地址捆绑到创建的套接字上 服务器进程准备接受来自客户机的连接请求 首先调用listen 函数 让服务器进程进入监听状态 然后调用accept 函数 准备接受客户机的连接信号 无连接请求时 服务进程被阻塞 40 15 2 1网络编程的概述 2 客户进程调用socket 函数创建自己端的套接字 给客户端的sockaddr in结构体变量赋值 地址类型仍可取AF INET 端口号和服务器方的端口号相同 欲连服务器的地址通过调用in

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号