欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第1章网络编程基础精.ppt

    • 资源ID:73620365       资源大小:2.83MB        全文页数:49页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第1章网络编程基础精.ppt

    第1章网络编程基础第1页,本讲稿共49页1.1 概述一、网络编程一、网络编程 网络编程网络编程网络编程网络编程就是利用网络应用编程接口编写网就是利用网络应用编程接口编写网就是利用网络应用编程接口编写网就是利用网络应用编程接口编写网络应用程序,实现网络应用进程间的信息交络应用程序,实现网络应用进程间的信息交络应用程序,实现网络应用进程间的信息交络应用程序,实现网络应用进程间的信息交互功能。互功能。互功能。互功能。主要内容:主要内容:主要内容:主要内容:基于基于基于基于NETBIOSNETBIOSNETBIOSNETBIOS的网络编程的网络编程的网络编程的网络编程 基于基于基于基于TCP/IPTCP/IPTCP/IPTCP/IP协议栈的协议栈的协议栈的协议栈的WindowsWindowsWindowsWindows网络编程网络编程网络编程网络编程 多线程网络编程多线程网络编程多线程网络编程多线程网络编程第2页,本讲稿共49页1.1 概述二、应用进程间的通信二、应用进程间的通信 同一系统上的应用进程间的通信同一系统上的应用进程间的通信同一系统上的应用进程间的通信同一系统上的应用进程间的通信l l也称为进程间通信也称为进程间通信也称为进程间通信也称为进程间通信 不同系统上的应用进程间的通信不同系统上的应用进程间的通信不同系统上的应用进程间的通信不同系统上的应用进程间的通信l l必须通过网络编程接口访问网络协议提供的服必须通过网络编程接口访问网络协议提供的服必须通过网络编程接口访问网络协议提供的服必须通过网络编程接口访问网络协议提供的服务来实现务来实现务来实现务来实现第3页,本讲稿共49页网络协议 网网网网络协议络协议是网是网是网是网络络上所有上所有上所有上所有设备设备(网(网(网(网络络服服服服务务器、器、器、器、计计算算算算机及机及机及机及交交交交换换机机机机、路由器路由器路由器路由器、防火防火防火防火墙墙等)之等)之等)之等)之间间通信通信通信通信规则规则的集合,它定的集合,它定的集合,它定的集合,它定义义了通信了通信了通信了通信时时信息必信息必信息必信息必须须采用的格式和采用的格式和采用的格式和采用的格式和这这些格式的意些格式的意些格式的意些格式的意义义。大多数网。大多数网。大多数网。大多数网络络都采用分都采用分都采用分都采用分层层的体系的体系的体系的体系结结构,每一构,每一构,每一构,每一层层都建立在它的下都建立在它的下都建立在它的下都建立在它的下层层之上,向它的上之上,向它的上之上,向它的上之上,向它的上一一一一层层提供一定的服提供一定的服提供一定的服提供一定的服务务.常常常常见见的的的的协议协议有:有:有:有:TCP/IPTCP/IP协议协议、IPX/SPXIPX/SPX协议协议、NetBIOSNetBIOS协议协议等。在局域网中用得的比等。在局域网中用得的比等。在局域网中用得的比等。在局域网中用得的比较较多的是多的是多的是多的是NetBIOS.NetBIOS.。用用用用户户如果如果如果如果访问访问InternetInternet,则则必必必必须须在网在网在网在网络协络协议议中添加中添加中添加中添加TCP/IPTCP/IP协议协议。第4页,本讲稿共49页1.2 TCP/IP简介 TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制传输控制协议协议/网际协议)是一系列协议,或者网际协议)是一系列协议,或者说是一个协议族,它定义了数据传输如说是一个协议族,它定义了数据传输如何通过因特网进行交换。允许分布在各何通过因特网进行交换。允许分布在各地的装着完全不同系统的计算机互相通地的装着完全不同系统的计算机互相通信,是一个真正的开放系统。信,是一个真正的开放系统。第5页,本讲稿共49页1.2 TCP/IP简介1.2.1 开放系统互连参考模型(开放系统互连参考模型(OSI/RM模型)模型)应用层(Application)传输层(Transport)网络层(Network)表示层(Presentation)会话层(Session)链路层(Data Link)物理层(Physical)7654321面向数据处理(资源子网)面向数据处理(资源子网)面向数据通信(通信子网)面向数据通信(通信子网)承上启下,接口沟通的作用承上启下,接口沟通的作用第6页,本讲稿共49页层层 次次数据数据单位单位功功 能能物理层物理层比特比特或位或位物物理理层层负负责责把把逐逐个个的的比比特特从从一一跳跳(结结点点)移移动动到到另另一一跳(结点)跳(结点)链路层链路层帧帧数数据据链链路路层层负负责责把把帧帧从从一一跳跳(结结点点)移移动动到到另另一一个个结结点点网络层网络层分组分组或包或包网络层负责把逐个的分组从源主机交付到目的主机网络层负责把逐个的分组从源主机交付到目的主机传输层传输层会话会话报文报文运运输输层层负负责责把把完完整整的的报报文文进进行行源源点点到到终终点点(端端到到端端)的交付的交付会话层会话层会话会话报文报文会话层负责对话的控制和同步会话层负责对话的控制和同步表示层表示层会话会话报文报文表示层负责转换、压缩和加密表示层负责转换、压缩和加密应用层应用层用户用户数据数据应应用用层层负负责责向向用用户户提提供供服服务务。为为用用户户提提供供相相应应的的界界面面,以便使用提供的连网功能以便使用提供的连网功能第7页,本讲稿共49页应用层运输层网络层表示层会话层 链路层物理层7654321应用层运输层网络层表示层会话层 链路层物理层7654321对等层协议(第对等层协议(第对等层协议(第对等层协议(第6 6层)层)层)层)网络层 链路层物理层321网络层 链路层物理层321数据传输媒体数据传输媒体对等层协议(第对等层协议(第对等层协议(第对等层协议(第7 7层)层)层)层)对等层协议(第对等层协议(第对等层协议(第对等层协议(第5 5层)层)层)层)对等层协议(第对等层协议(第对等层协议(第对等层协议(第4 4层)层)层)层)设备设备A中间结点中间结点中间结点中间结点7-6 接口设备设备B6-5 接口5-4 接口4-3 接口3-2 接口2-1 接口7-6 接口6-5 接口5-4 接口4-3 接口3-2 接口2-1 接口第8页,本讲稿共49页vvOSIOSI模型是一个模型是一个模型是一个模型是一个7 7层模型。每一层实现特定的功能,层模型。每一层实现特定的功能,层模型。每一层实现特定的功能,层模型。每一层实现特定的功能,并且只与上下两层直接通信。高层协议偏重于处并且只与上下两层直接通信。高层协议偏重于处并且只与上下两层直接通信。高层协议偏重于处并且只与上下两层直接通信。高层协议偏重于处理用户服务和各种应用请求。低层协议偏重于处理用户服务和各种应用请求。低层协议偏重于处理用户服务和各种应用请求。低层协议偏重于处理用户服务和各种应用请求。低层协议偏重于处理实际的信息传输。理实际的信息传输。理实际的信息传输。理实际的信息传输。vv分层协议的目的在于把各种特定的功能分离开来,分层协议的目的在于把各种特定的功能分离开来,分层协议的目的在于把各种特定的功能分离开来,分层协议的目的在于把各种特定的功能分离开来,并使其实现对其他层次来说是透明的。这种分层并使其实现对其他层次来说是透明的。这种分层并使其实现对其他层次来说是透明的。这种分层并使其实现对其他层次来说是透明的。这种分层结构使各个层次的设计和测试相对独立。结构使各个层次的设计和测试相对独立。结构使各个层次的设计和测试相对独立。结构使各个层次的设计和测试相对独立。第9页,本讲稿共49页1.2 TCP/IP简介1.2.2 互联网参考模型(互联网参考模型(TCP/IP模型)模型)运输层运输层网间网层网间网层应用层应用层(各种应用层(各种应用层协议)协议)网络接口层网络接口层 负责将发送的信息组帧,通过物理层向选定网络负责将发送的信息组帧,通过物理层向选定网络负责将发送的信息组帧,通过物理层向选定网络负责将发送的信息组帧,通过物理层向选定网络发送,或者从网络上接收物理帧,将取出数据控发送,或者从网络上接收物理帧,将取出数据控发送,或者从网络上接收物理帧,将取出数据控发送,或者从网络上接收物理帧,将取出数据控制信息的制信息的制信息的制信息的IPIP数据包交给网间网层数据包交给网间网层数据包交给网间网层数据包交给网间网层 负责相邻计算机之间的通信,包括路径选择、流负责相邻计算机之间的通信,包括路径选择、流负责相邻计算机之间的通信,包括路径选择、流负责相邻计算机之间的通信,包括路径选择、流量控制、拥塞、差错报告功能量控制、拥塞、差错报告功能量控制、拥塞、差错报告功能量控制、拥塞、差错报告功能 提供应用程序之间端到端的通信提供应用程序之间端到端的通信提供应用程序之间端到端的通信提供应用程序之间端到端的通信 向用户提供一组常用的应用程序,使用户在需要时调向用户提供一组常用的应用程序,使用户在需要时调向用户提供一组常用的应用程序,使用户在需要时调向用户提供一组常用的应用程序,使用户在需要时调用该程序就可以完成对用该程序就可以完成对用该程序就可以完成对用该程序就可以完成对TCP/IPTCP/IP互连网络的访问互连网络的访问互连网络的访问互连网络的访问第10页,本讲稿共49页1.2 TCP/IP简介TCP/IP与与OSI/RM的关系:的关系:应用层应用层表示层表示层会话层会话层传输层传输层网络层网络层链路层链路层物理层物理层运输层运输层网际层网际层应用层应用层(各种应用(各种应用层协议)层协议)网络接口网络接口层层第11页,本讲稿共49页1.2 TCP/IP简介应用层应用层表示层表示层会话层会话层各种应用程序层各种应用程序层SMTPFTPHTTPDNSSNMPNFSTFTPRPC运输层运输层SCTPTCPUDP网络层网络层ICMPIGMPIPRARPARP数据链路层数据链路层物理层物理层由底层网络定义的协议由底层网络定义的协议1.2.3 TCP/IP协议族协议族第12页,本讲稿共49页1.2 TCP/IP简介 应用层协议:应用层协议:应用层协议:应用层协议:DNSDNS:域名系统。它是用分布式数据库实现的命名系统。域名系统。它是用分布式数据库实现的命名系统。域名系统。它是用分布式数据库实现的命名系统。域名系统。它是用分布式数据库实现的命名系统。NFSNFS:网络文件系统。在不同的系统间达到文件共享的系统。网络文件系统。在不同的系统间达到文件共享的系统。网络文件系统。在不同的系统间达到文件共享的系统。网络文件系统。在不同的系统间达到文件共享的系统。SNMPSNMP:简单网络管理协议。简单网络管理协议。简单网络管理协议。简单网络管理协议。FTPFTP:文件传输协议。文件传输协议。文件传输协议。文件传输协议。TFTPTFTP:简单文件传输协议。简单文件传输协议。简单文件传输协议。简单文件传输协议。POPPOP:邮局协议。邮局协议。邮局协议。邮局协议。SMTPSMTP:简单邮局传输协议。它只是完成通过一条链路传递消息的工作。简单邮局传输协议。它只是完成通过一条链路传递消息的工作。简单邮局传输协议。它只是完成通过一条链路传递消息的工作。简单邮局传输协议。它只是完成通过一条链路传递消息的工作。TelnetTelnet:远程登录协议远程登录协议远程登录协议远程登录协议 第13页,本讲稿共49页1.2 TCP/IP简介传输层协议:传输层协议:TCPTCP:传输控制协议。它是面向连接的全双传输控制协议。它是面向连接的全双传输控制协议。它是面向连接的全双传输控制协议。它是面向连接的全双工协议工协议工协议工协议 UDPUDP:用户数据报协议。提供非可靠数据报用户数据报协议。提供非可靠数据报用户数据报协议。提供非可靠数据报用户数据报协议。提供非可靠数据报服务的无连接协议。服务的无连接协议。服务的无连接协议。服务的无连接协议。SCTPSCTP:流控制传输协议。它是一个把流控制传输协议。它是一个把流控制传输协议。它是一个把流控制传输协议。它是一个把UDPUDP和和和和TCPTCP的优点合并起来的传输层协议。提供的优点合并起来的传输层协议。提供的优点合并起来的传输层协议。提供的优点合并起来的传输层协议。提供对新的应用(如对新的应用(如对新的应用(如对新的应用(如IPIP电话)的支持电话)的支持电话)的支持电话)的支持第14页,本讲稿共49页1.2 TCP/IP简介网络层协议:网络层协议:IPIP:网际互连协议。它是无连接的,负责数网际互连协议。它是无连接的,负责数网际互连协议。它是无连接的,负责数网际互连协议。它是无连接的,负责数据包的发送。据包的发送。据包的发送。据包的发送。ARPARP:地址解析协议地址解析协议地址解析协议地址解析协议 RARPRARP:逆地址解析协议逆地址解析协议逆地址解析协议逆地址解析协议 ICMPICMP:网际控制报文协议网际控制报文协议网际控制报文协议网际控制报文协议 IGMPIGMP:网际组管理协议网际组管理协议网际组管理协议网际组管理协议第15页,本讲稿共49页1.2 TCP/IP简介网络接口层(物理层和数据链路层)协议:网络接口层(物理层和数据链路层)协议:在网络接口层,在网络接口层,在网络接口层,在网络接口层,TCP/IPTCP/IP并没有定义任何并没有定义任何并没有定义任何并没有定义任何特定的协议。它支持所有标准的和专用的协特定的协议。它支持所有标准的和专用的协特定的协议。它支持所有标准的和专用的协特定的协议。它支持所有标准的和专用的协议。在议。在议。在议。在TCP/IPTCP/IP互联网中的网络可以是局域互联网中的网络可以是局域互联网中的网络可以是局域互联网中的网络可以是局域网(网(网(网(LANLAN)、)、)、)、城域网(城域网(城域网(城域网(MANMAN)或广域网或广域网或广域网或广域网(WANWAN)。)。)。)。第16页,本讲稿共49页1.3 网络编程接口 完整的计算机网络系统中,仅提供完整的计算机网络系统中,仅提供了基于网络操作系统之上的编程接口了基于网络操作系统之上的编程接口 WindowsWindows的的的的Winsock APIWinsock API NetwareNetware的的的的IPX/SPX APIIPX/SPX API NetBIOS APINetBIOS API第17页,本讲稿共49页 网络编程接口定义了应用程序与网络通信协议的连接:应用网络编程接口定义了应用程序与网络通信协议的连接:应用网络编程接口定义了应用程序与网络通信协议的连接:应用网络编程接口定义了应用程序与网络通信协议的连接:应用程序调用网络编程接口实现应用程序相互之间的通信,而网程序调用网络编程接口实现应用程序相互之间的通信,而网程序调用网络编程接口实现应用程序相互之间的通信,而网程序调用网络编程接口实现应用程序相互之间的通信,而网络编程接口则利用下层的网络通信协议功能与操作系统调用络编程接口则利用下层的网络通信协议功能与操作系统调用络编程接口则利用下层的网络通信协议功能与操作系统调用络编程接口则利用下层的网络通信协议功能与操作系统调用实现实际的通信工作。它们之间的关系如图:实现实际的通信工作。它们之间的关系如图:实现实际的通信工作。它们之间的关系如图:实现实际的通信工作。它们之间的关系如图:应用程序应用程序A A应用程序应用程序B B网络编程接口,例如网络编程接口,例如Windows SocketsWindows Sockets网络通信协议服务界面,例如网络通信协议服务界面,例如TCP/IPTCP/IP操作系统,例如操作系统,例如WindowsWindows物理通信介质物理通信介质第18页,本讲稿共49页1.3 网络编程接口1.3.1 基于基于NetBIOS的网络编程的网络编程 NetBIOSNetBIOS是一种标准的应用程序编程接口,是一种标准的应用程序编程接口,是一种标准的应用程序编程接口,是一种标准的应用程序编程接口,它为网络通信定义了一组编程接口。它为网络通信定义了一组编程接口。它为网络通信定义了一组编程接口。它为网络通信定义了一组编程接口。NetBIOSNetBIOS与与与与TCP/IPTCP/IP和和和和IPX/SPXIPX/SPX相比,具有极相比,具有极相比,具有极相比,具有极高的通信效率。高的通信效率。高的通信效率。高的通信效率。NetBIOSNetBIOS支持面向连接和无连接服务。支持面向连接和无连接服务。支持面向连接和无连接服务。支持面向连接和无连接服务。NetBIOSNetBIOS编程接口对应于编程接口对应于编程接口对应于编程接口对应于OSIOSI模型的会话层模型的会话层模型的会话层模型的会话层和传输层。和传输层。和传输层。和传输层。NetBIOSNetBIOS不是一种不是一种不是一种不是一种“可路由可路由可路由可路由”协议。协议。协议。协议。第19页,本讲稿共49页1.3 网络编程接口1.3.2 基于基于Winsock的网络编程的网络编程 WinsockWinsock是是是是WindowsWindows环境下实现基于环境下实现基于环境下实现基于环境下实现基于TCP/IPTCP/IP协议的网络编程的接口。协议的网络编程的接口。协议的网络编程的接口。协议的网络编程的接口。WinsockWinsock规范并定义了如何使用规范并定义了如何使用规范并定义了如何使用规范并定义了如何使用APIAPI和和和和InternetInternet协议簇,并提供了一组针对协议簇,并提供了一组针对协议簇,并提供了一组针对协议簇,并提供了一组针对WindowsWindows的扩展库函数,以使程序员能充分的扩展库函数,以使程序员能充分的扩展库函数,以使程序员能充分的扩展库函数,以使程序员能充分的利用的利用的利用的利用WindowsWindows消息驱动机制进行编程。消息驱动机制进行编程。消息驱动机制进行编程。消息驱动机制进行编程。所有的所有的所有的所有的WinsockWinsock实现都支持流套接字和数据实现都支持流套接字和数据实现都支持流套接字和数据实现都支持流套接字和数据报套接字报套接字报套接字报套接字第20页,本讲稿共49页1.3 网络编程接口1.3.3 直接网络编程直接网络编程 直接网络编程接口提供在链路层或网络层的直接网络编程接口提供在链路层或网络层的直接网络编程接口提供在链路层或网络层的直接网络编程接口提供在链路层或网络层的编程方法。编程方法。编程方法。编程方法。直接网络编程方法:直接网络编程方法:直接网络编程方法:直接网络编程方法:l lWinpcapWinpcap的网络数据包捕获技术的网络数据包捕获技术的网络数据包捕获技术的网络数据包捕获技术l lLibnetLibnet的网络数据包的构造技术的网络数据包的构造技术的网络数据包的构造技术的网络数据包的构造技术l l原始套接字原始套接字原始套接字原始套接字第21页,本讲稿共49页1.3 网络编程接口1.3.4 基于物理设备的网络编程基于物理设备的网络编程 基于物理设备的网络编程接口也称为基于物理设备的网络编程接口也称为基于物理设备的网络编程接口也称为基于物理设备的网络编程接口也称为MACMAC层编程接口层编程接口层编程接口层编程接口 这一接口没有提供现成的程序接口,因此所这一接口没有提供现成的程序接口,因此所这一接口没有提供现成的程序接口,因此所这一接口没有提供现成的程序接口,因此所有功能的实现都必须自行设计有功能的实现都必须自行设计有功能的实现都必须自行设计有功能的实现都必须自行设计第22页,本讲稿共49页1.4 网络通信方式1.4.1 1.4.1 面向连接的通信和无连接通信面向连接的通信和无连接通信面向连接的通信和无连接通信面向连接的通信和无连接通信 通常情况下,一个协议提供面向连接(会话)通常情况下,一个协议提供面向连接(会话)通常情况下,一个协议提供面向连接(会话)通常情况下,一个协议提供面向连接(会话)和无连接(数据报)的服务。和无连接(数据报)的服务。和无连接(数据报)的服务。和无连接(数据报)的服务。(1 1)面向连接(双向连接)的服务:在这种服务中,通信双方)面向连接(双向连接)的服务:在这种服务中,通信双方)面向连接(双向连接)的服务:在这种服务中,通信双方)面向连接(双向连接)的服务:在这种服务中,通信双方进行数据交换之前,必须建立一条路径,这样既确定了通信进行数据交换之前,必须建立一条路径,这样既确定了通信进行数据交换之前,必须建立一条路径,这样既确定了通信进行数据交换之前,必须建立一条路径,这样既确定了通信方之间存在路由,又保证了通信双方都是活动的、都可彼此方之间存在路由,又保证了通信双方都是活动的、都可彼此方之间存在路由,又保证了通信双方都是活动的、都可彼此方之间存在路由,又保证了通信双方都是活动的、都可彼此相应、并且传送数据时是按序传送的,从而保证数据通信的相应、并且传送数据时是按序传送的,从而保证数据通信的相应、并且传送数据时是按序传送的,从而保证数据通信的相应、并且传送数据时是按序传送的,从而保证数据通信的可靠性。可靠性。可靠性。可靠性。适合于在一段时间间隔内要向同一目的地发送许适合于在一段时间间隔内要向同一目的地发送许适合于在一段时间间隔内要向同一目的地发送许适合于在一段时间间隔内要向同一目的地发送许多报文的情况。多报文的情况。多报文的情况。多报文的情况。缺点是开销大。缺点是开销大。缺点是开销大。缺点是开销大。第23页,本讲稿共49页1.4 网络通信方式(2 2)无连接服务:发送方发送数据前不需要确认接收)无连接服务:发送方发送数据前不需要确认接收)无连接服务:发送方发送数据前不需要确认接收)无连接服务:发送方发送数据前不需要确认接收端是否正在收听,发送方随时可以发送数据。端是否正在收听,发送方随时可以发送数据。端是否正在收听,发送方随时可以发送数据。端是否正在收听,发送方随时可以发送数据。无连接服务的特点是速度快、使用灵活、既能实现点到点通无连接服务的特点是速度快、使用灵活、既能实现点到点通无连接服务的特点是速度快、使用灵活、既能实现点到点通无连接服务的特点是速度快、使用灵活、既能实现点到点通信,又能实现多点和广播通信。信,又能实现多点和广播通信。信,又能实现多点和广播通信。信,又能实现多点和广播通信。无连接服务的缺点是不能保证数据可靠到达接收端,无连接服务的缺点是不能保证数据可靠到达接收端,无连接服务的缺点是不能保证数据可靠到达接收端,无连接服务的缺点是不能保证数据可靠到达接收端,也无法保证数据的完整性,这些问题必须由应用程序根也无法保证数据的完整性,这些问题必须由应用程序根也无法保证数据的完整性,这些问题必须由应用程序根也无法保证数据的完整性,这些问题必须由应用程序根据需要自行解决。据需要自行解决。据需要自行解决。据需要自行解决。无连接服务特别适合于传送少量零星的报文。无连接服务特别适合于传送少量零星的报文。无连接服务特别适合于传送少量零星的报文。无连接服务特别适合于传送少量零星的报文。第24页,本讲稿共49页1.4 网络通信方式1.4.2 阻塞通信和非阻塞通信阻塞通信和非阻塞通信 在网络编程时,选择通信模式是一件很重要在网络编程时,选择通信模式是一件很重要在网络编程时,选择通信模式是一件很重要在网络编程时,选择通信模式是一件很重要的事情。通信模式分的事情。通信模式分的事情。通信模式分的事情。通信模式分阻塞和非阻塞阻塞和非阻塞模式。模式。模式。模式。在不同情况下,阻塞通信和非阻塞通信有不在不同情况下,阻塞通信和非阻塞通信有不在不同情况下,阻塞通信和非阻塞通信有不在不同情况下,阻塞通信和非阻塞通信有不同的表现。同的表现。同的表现。同的表现。(1 1)应用程序发送和接收数据报文时)应用程序发送和接收数据报文时)应用程序发送和接收数据报文时)应用程序发送和接收数据报文时 (2 2)面向连接协议的连接建立阶段)面向连接协议的连接建立阶段)面向连接协议的连接建立阶段)面向连接协议的连接建立阶段第25页,本讲稿共49页1.4 网络通信方式 通信模式对应用程序的设计方法也有直接的影响。通信模式对应用程序的设计方法也有直接的影响。通信模式对应用程序的设计方法也有直接的影响。通信模式对应用程序的设计方法也有直接的影响。l l在非阻塞模式下,应用程序不断地轮询查看是否有数在非阻塞模式下,应用程序不断地轮询查看是否有数在非阻塞模式下,应用程序不断地轮询查看是否有数在非阻塞模式下,应用程序不断地轮询查看是否有数据达到或有连接请求到达。这种轮询要耗费大量的据达到或有连接请求到达。这种轮询要耗费大量的据达到或有连接请求到达。这种轮询要耗费大量的据达到或有连接请求到达。这种轮询要耗费大量的CPUCPU时间,因此要尽量避免使用。时间,因此要尽量避免使用。时间,因此要尽量避免使用。时间,因此要尽量避免使用。l l阻塞模式的缺点是进程或线程在执行阻塞模式的缺点是进程或线程在执行阻塞模式的缺点是进程或线程在执行阻塞模式的缺点是进程或线程在执行I/OI/O操作时将被阻操作时将被阻操作时将被阻操作时将被阻塞而不能执行其他的工作,因此在单进程或单线程应塞而不能执行其他的工作,因此在单进程或单线程应塞而不能执行其他的工作,因此在单进程或单线程应塞而不能执行其他的工作,因此在单进程或单线程应用中不能使用这种模式。在多线程应用中比较适合采用中不能使用这种模式。在多线程应用中比较适合采用中不能使用这种模式。在多线程应用中比较适合采用中不能使用这种模式。在多线程应用中比较适合采用阻塞模式,一个线程阻塞不影响其他线程的工作。用阻塞模式,一个线程阻塞不影响其他线程的工作。用阻塞模式,一个线程阻塞不影响其他线程的工作。用阻塞模式,一个线程阻塞不影响其他线程的工作。第26页,本讲稿共49页1.4 网络通信方式1.4.3 多播通信与广播通信多播通信与广播通信 无论是多播还是广播,都是建立在无连接服无论是多播还是广播,都是建立在无连接服无论是多播还是广播,都是建立在无连接服无论是多播还是广播,都是建立在无连接服务协议之上,因此数据传输的可靠性无法得到保务协议之上,因此数据传输的可靠性无法得到保务协议之上,因此数据传输的可靠性无法得到保务协议之上,因此数据传输的可靠性无法得到保证。证。证。证。广播通信是指数据从一个工作站发出,局域网内的其他广播通信是指数据从一个工作站发出,局域网内的其他广播通信是指数据从一个工作站发出,局域网内的其他广播通信是指数据从一个工作站发出,局域网内的其他所有工作站都能接收到它。所有工作站都能接收到它。所有工作站都能接收到它。所有工作站都能接收到它。多播通信是指数据从一个工作站发出,这些数据将由一个或多播通信是指数据从一个工作站发出,这些数据将由一个或多播通信是指数据从一个工作站发出,这些数据将由一个或多播通信是指数据从一个工作站发出,这些数据将由一个或多个接收端进行接收。多个接收端进行接收。多个接收端进行接收。多个接收端进行接收。第27页,本讲稿共49页思考题1 常见的网络编程接口有哪几种?它与网络通常见的网络编程接口有哪几种?它与网络通信协议之间存在何种关系?信协议之间存在何种关系?三大编程接口:三大编程接口:三大编程接口:三大编程接口:NetBIOS APINetBIOS API、Socket API Socket API、IPX/SPX IPX/SPX APIAPI LAN LAN三大协议:三大协议:三大协议:三大协议:NetBIOS NetBIOS、TCP/IP TCP/IP、IPX/SPX IPX/SPX 网络编程接口访问网络协议所提供的服务实现网络编程接口访问网络协议所提供的服务实现网络编程接口访问网络协议所提供的服务实现网络编程接口访问网络协议所提供的服务实现网络通信,不同的网络协议可能提供不同的服务访网络通信,不同的网络协议可能提供不同的服务访网络通信,不同的网络协议可能提供不同的服务访网络通信,不同的网络协议可能提供不同的服务访问接口,同一网络编程接口可能提供访问不同网络问接口,同一网络编程接口可能提供访问不同网络问接口,同一网络编程接口可能提供访问不同网络问接口,同一网络编程接口可能提供访问不同网络协议的接口。协议的接口。协议的接口。协议的接口。第28页,本讲稿共49页2 2 面向连接与无连接通信的特点及各自适用的场合。面向连接与无连接通信的特点及各自适用的场合。面向连接与无连接通信的特点及各自适用的场合。面向连接与无连接通信的特点及各自适用的场合。面向连接通信中,通信双方进行数据交换之前,必须面向连接通信中,通信双方进行数据交换之前,必须面向连接通信中,通信双方进行数据交换之前,必须面向连接通信中,通信双方进行数据交换之前,必须建立一条路径,这样既确定了通信方之间存在路由,又保建立一条路径,这样既确定了通信方之间存在路由,又保建立一条路径,这样既确定了通信方之间存在路由,又保建立一条路径,这样既确定了通信方之间存在路由,又保证了通信双方都是活动的、都可彼此相应、并且传送数据证了通信双方都是活动的、都可彼此相应、并且传送数据证了通信双方都是活动的、都可彼此相应、并且传送数据证了通信双方都是活动的、都可彼此相应、并且传送数据时是按序传送的,从而保证数据通信的可靠性。适合于在时是按序传送的,从而保证数据通信的可靠性。适合于在时是按序传送的,从而保证数据通信的可靠性。适合于在时是按序传送的,从而保证数据通信的可靠性。适合于在一段时间间隔内要向同一目的地发送许多报文的情况。一段时间间隔内要向同一目的地发送许多报文的情况。一段时间间隔内要向同一目的地发送许多报文的情况。一段时间间隔内要向同一目的地发送许多报文的情况。无连接通信,发送方发送数据前不需要确认接收端是无连接通信,发送方发送数据前不需要确认接收端是无连接通信,发送方发送数据前不需要确认接收端是无连接通信,发送方发送数据前不需要确认接收端是否正在收听,发送方随时可以发送数据。不能保证数据可否正在收听,发送方随时可以发送数据。不能保证数据可否正在收听,发送方随时可以发送数据。不能保证数据可否正在收听,发送方随时可以发送数据。不能保证数据可靠到达接收端,但通信效率高。靠到达接收端,但通信效率高。靠到达接收端,但通信效率高。靠到达接收端,但通信效率高。适合于传送少量零星的报适合于传送少量零星的报适合于传送少量零星的报适合于传送少量零星的报文。文。文。文。第29页,本讲稿共49页 Windows Windows Windows Windows应用程序与操作系统、计算机硬件之应用程序与操作系统、计算机硬件之间的相互关系间的相互关系:1.5 Windows程序的运行原理第30页,本讲稿共49页 图中,箭头图中,箭头图中,箭头图中,箭头表示应用程序可以通知操作系统执行某个表示应用程序可以通知操作系统执行某个表示应用程序可以通知操作系统执行某个表示应用程序可以通知操作系统执行某个具体的动作,如操作系统能够控制声卡发出声音,但它并具体的动作,如操作系统能够控制声卡发出声音,但它并具体的动作,如操作系统能够控制声卡发出声音,但它并具体的动作,如操作系统能够控制声卡发出声音,但它并不知道应该何时发出何种声音,需要应用程序告诉操作系不知道应该何时发出何种声音,需要应用程序告诉操作系不知道应该何时发出何种声音,需要应用程序告诉操作系不知道应该何时发出何种声音,需要应用程序告诉操作系统该发出什么样的声音。这个关系好比有个机器人能够完统该发出什么样的声音。这个关系好比有个机器人能够完统该发出什么样的声音。这个关系好比有个机器人能够完统该发出什么样的声音。这个关系好比有个机器人能够完成行走的功能,但是,如果人们不告诉它往哪个方向上走,成行走的功能,但是,如果人们不告诉它往哪个方向上走,成行走的功能,但是,如果人们不告诉它往哪个方向上走,成行走的功能,但是,如果人们不告诉它往哪个方向上走,机器人是不会主动行走的。这里的机器人就是操作系统,机器人是不会主动行走的。这里的机器人就是操作系统,机器人是不会主动行走的。这里的机器人就是操作系统,机器人是不会主动行走的。这里的机器人就是操作系统,人们就是应用程序。人们就是应用程序。人们就是应用程序。人们就是应用程序。那么,应用程序如何告诉操作系统执行什么动作呢?那么,应用程序如何告诉操作系统执行什么动作呢?那么,应用程序如何告诉操作系统执行什么动作呢?那么,应用程序如何告诉操作系统执行什么动作呢?事实上,操作系统把它所能够完成的功能以函数的事实上,操作系统把它所能够完成的功能以函数的事实上,操作系统把它所能够完成的功能以函数的事实上,操作系统把它所能够完成的功能以函数的形式提供给应用程序使用,而应用程序就是通过对函数形式提供给应用程序使用,而应用程序就是通过对函数形式提供给应用程序使用,而应用程序就是通过对函数形式提供给应用程序使用,而应用程序就是通过对函数的调用来通知操作系统执行某个功能的。的调用来通知操作系统执行某个功能的。的调用来通知操作系统执行某个功能的。的调用来通知操作系统执行某个功能的。第31页,本讲稿共49页 箭头箭头箭头箭头表示操作系统能够将输入设备的变化上传给应用表示操作系统能够将输入设备的变化上传给应用表示操作系统能够将输入设备的变化上传给应用表示操作系统能够将输入设备的变化上传给应用程序。如用户在某个程序活动时按了一下键盘,操作系统程序。如用户在某个程序活动时按了一下键盘,操作系统程序。如用户在某个程序活动时按了一下键盘,操作系统程序。如用户在某个程序活动时按了一下键盘,操作系统马上能够感知到这一事件,并且能够知道用户按的是哪一马上能够感知到这一事件,并且能够知道用户按的是哪一马上能够感知到这一事件,并且能够知道用户按的是哪一马上能够感知到这一事件,并且能够知道用户按的是哪一个键,操作系统并不决定对这一事件如何作出反应,而是个键,操作系统并不决定对这一事件如何作出反应,而是个键,操作系统并不决定对这一事件如何作出反应,而是个键,操作系统并不决定对这一事件如何作出反应,而是将这一事件转交给应用程序,由应用程序决定如何对这一将这一事件转交给应用程序,由应用程序决定如何对这一将这一事件转交给应用程序,由应用程序决定如何对这一将这一事件转交给应用程序,由应用程序决定如何对这一事件作出反应。好比有个蚊子叮了我们一口,我们的神经事件作出反应。好比有个蚊子叮了我们一口,我们的神经事件作出反应。好比有个蚊子叮了我们一口,我们的神经事件作出反应。好比有个蚊子叮了我们一口,我们的神经末梢(相当于操作系统)马上感知到这一事件,并传递给末梢(相当于操作系统)马上感知到这一事件,并传递给末梢(相当于操作系统)马上感知到这一事件,并传递给末梢(相当于操作系统)马上感知到这一事件,并传递给了我们的大脑(相当于应用程序),我们的大脑最终决定了我们的大脑(相当于应用程序),我们的大脑最终决定了我们的大脑(相当于应用程序),我们的大脑最终决定了我们的大脑(相当于应用程序),我们的大脑最终决定如何对这一事件作出反应,如将蚊子赶走,或是将蚊子拍如何对这一事件作出反应,如将蚊子赶走,或是将蚊子拍如何对这一事件作出反应,如将蚊子赶走,或是将蚊子拍如何对这一事件作出反应,如将蚊子赶走,或是将蚊子拍死。对事件作出反应的过程就是消息响应。死。对事件作出反应的过程就是消息响应。死。对事件作出反应的过程就是消息响应。死。对事件作出反应的过程就是消息响应。那么,操作系统是怎样将感知到的事件传递给应用程序的那么,操作系统是怎样将感知到的事件传递给应用程序的那么,操作系统是怎样将感知到的事件传递给应用程序的那么,操作系统是怎样将感知到的事件传递给应用程序的呢?呢?呢?呢?这是通过这是通过这是通过这是通过windowswindows的消息驱动机制的消息驱动机制的消息驱动机制的消息驱动机制(Message)Message)来实现的。来实现的。来实现的。来实现的。第32页,本讲稿共49页 Windows Windows系统的运行机制被称作消息驱动机制,系统的运行机制被称

    注意事项

    本文(第1章网络编程基础精.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开