欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    计算机网络第七讲客户服务器编程(Chapter26-28).ppt

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

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

    计算机网络第七讲客户服务器编程(Chapter26-28).ppt

    计算机网络第七讲 客户/服务器编程(Chapter26-28),房鼎益 电子邮件:,计算机网络 第26章 客户/服务器交互,第26章 客户/服务器交互,应用层概述客户/服务器交互概念需要澄清的几个概念 标识一个特定服务 并发服务器,计算机网络 第26章 客户/服务器编程,应用层概述,应用层提供面向用户的服务应用层利用底层协议提供的服务进行通信 通用的可靠数据传输服务 寻址(主机、应用程序)服务应用程序之间的通信都使用同一种交互方式,这种交互方式称为客户/服务器(Client/Server)模式。,计算机网络 第26章 客户/服务器编程,客户/服务器交互概念(1),客户/服务器交互:客户应用主动地启动通信,而服务器应用被动地等待。客户端软件的特性:是一个普通的应用程序 在用户的计算机上本地运行 直接被用户调用,可分时访问多个服务主动地与服务器启动通信 不需要特殊的硬件和高级的操作系统,计算机网络 第26章 客户/服务器编程,客户/服务器交互概念(2),服务器软件的特性:是一种专门用来提供某一种服务的程序 在一台共享计算机上运行 在系统初启时自动启动,可以同时与多个远程客户进行通信 被动地等待来自任意客户的通信需要强大的硬件和高级的操作系统支持,计算机网络 第26章 客户/服务器编程,几个需要澄清的概念,服务器:指一个被动地等待通信的程序。服务器级计算机:具有快速CPU、大存储量和强大操作系统的计算机。一台服务器级计算机可以提供多重服务,以共享资源,减小开销,便于管理。服务器程序既可以接收信息也能发送信息,还可以成为客户。客户并不限于访问一种服务器。,计算机网络 第26章 客户/服务器编程,客户/服务器交互服务标识(service ID),TCP赋予每个服务一个唯一的协议端口号。服务器通过协议端口号来指定它所提供的服务,然后被动地等待通信。客户在发送请求时通过协议端口号来指定它所希望的服务。服务器端计算机通过此端口号将收到的请求转发给正确的服务器。每一个会话由两个标识唯一确定:服务器和客户端的(IP地址,端口号)。客户端的端口号可以是任意选定,但必须唯一。,计算机网络 第26章 客户/服务器编程,客户/服务器交互并发服务,并发服务器是指一个服务器可以同时为多个客户提供服务。服务器在每一个客户请求到来时创建一个新的线程。如果有N个客户正在使用一台机器上的服务,则存在N+1个提供该服务的线程:主线程等待更多的请求,同时有N个从线程分别同一个客户进行交互。服务器端使用客户标识和服务器标识的结合来选择正确的并发服务器的副本。,计算机网络 第27章 套接字接口,第27章 套接字(socket)接口,套接字API概念实现套接字API的过程 用套接字进行读写其它套接字过程套接字、线程与继承,计算机网络 第27章 套接字接口,套接字接口概念,API:应用程序通过传输协议进行交互时所使用的接口称为应用程序接口(API)。通信协议只定义API应当提供的一般操作,而让操作系统来定义完成这些操作的API规范。API允许应用程序在不同平台兼容。套接字API最初是BSD UNIX操作系统的一部分,后来成为工业界事实上的标准。应用程序通过套接字进行通信的过程,与应用程序与文件进行数据交换是很相似的。,计算机网络 第27章 套接字接口,套接字接口的过程,SOCKET:创建一个新的套接字BIND:给服务器绑定一个传输层地址LISTEN:将服务器设为被动模式。ACCEPT:接收客户的一个请求CONNET:客户向服务器发起连接SEND:向一个连接的套接字发送数据RECV:从一个连接的套接字接收数据 CLOSE:终止一个连接,计算机网络 第27章 套接字接口,用套接字进行读写,套接字允许使用read和write进行数据传输read和write有三个参数:套接字描述符,缓冲区,缓冲区长度read和write必须用于已连接的套接字使用read和write的优点是应用程序可以同一个描述符进行数据传输,而无需知道此描述符对应的是一个文件还是一个套接字。因此可以用本地文件来测试套接字。,计算机网络 第27章 套接字接口,其它套接字过程,Getsockname:获得套接字本地完整地址。Getpeername:获得套接字远端完整地址。Getsockopt:获得当前套接字选项。Setsockopt:设置当前套接字选项。Gethostbyname:由计算机名字获得IP地址。Gethostbyaddr:由IP地址获得计算机名字。Getprotobyname:由协议名字得到协议号。,计算机网络 第27章 套接字接口,套接字、线程与继承,每个新创建的线程从创建它的线程继承所有套接字的一个副本。服务器主线程为每一个连接的客户创建一个新的套接字和新线程。主线程关闭新套接字,新线程关闭旧套接字。系统对套接字的引用进行计数,计数器为0才能删除套接字。,计算机网络 第28章 客户/服务器编程,第28章 客户/服务器编程实例,面向连接的通信流服务与多重recv调用套接字过程与阻塞客户访问不同的服务其它客户访问服务器 无连接的通信,计算机网络 第28章 客户/服务器编程,编程实例面向连接的通信,计算机网络 第28章 客户/服务器编程,编程实例面向连接的通信,MS Socket,计算机网络 第28章 客户/服务器编程,流服务与多重recv调用,在服务器端,只调用了一次send()。在客户端,循环调用recv()接收数据。TCP并不保证数据在单个数据段中发出。TCP也不保证recv返回的恰好是send所传送的数据量。TCP保证send将数据依次发送TCP保证recv调用返回一个或多个数据。,计算机网络 第28章 客户/服务器编程,套接字过程与阻塞,在程序调用套接字过程时,程序会因为套接字过程需要等待其它资源或过程而被挂起(阻塞)。程序被挂起时不使用CPU时间,挂起时间可以任意长。阻塞过程有:accept,connect,send,recv,gethostbyname等。,计算机网络 第28章 客户/服务器编程,测试客户/服务器程序,可以去访问其它的服务器来测试客户。可以使用telnet客户程序测试服务器。,计算机网络 第28章 客户/服务器编程,编程实例无连接的通信,计算机网络 第28章 客户/服务器编程,编程实例无连接的通信,MS Socket,计算机网络 第28章 客户/服务器编程,实验3,1、写一个时间服务器和客户程序,即客户从服务器获取时间并以用户友好方式显示。要用到的特殊头文件中的函数 time_t time(time_t*),单位是秒。char*ctime(const time_t*)格式为:,

    注意事项

    本文(计算机网络第七讲客户服务器编程(Chapter26-28).ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开