6客户软件设计概要.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6客户软件设计概要

* * * * * * * TIME服务 允许一台机器从另外一台机器获得日期和时间。 由于存在不同的时区,所有的时间日期信息必须用国际标准时间:UCT或UT 服务器应答前将本地时间转化为标准时间 客户收到应答时,将国际标准时间转化为本地时间。 TIME协议规定由32bit的整数来表示 从1900年1月1日午夜为起点的秒数 用于一台计算机使用另外一系统时钟来设置起事件 访问TIME服务 TIME服务使用端口37 可以使用TCP协议 使用TCP的TIME服务器利用连接的出现激活输出,类似DAYTIME服务。 使用TCP的客户不用发送任何数据 也可以使用UDP访问TIME服务 客户发出包含单个数据报的请求 服务器从传入的数据报中取出地址和端口号 服务器将当前时间编码为一个整数,使用上述地址和端口号发回给客户 精确时间和网络时延 由于网络时延,客户收到的时间慢了 尽管有更加复杂的协议来处理时钟同步 TIME协议因为简单,在局域环境中,在某些环境下,还是使用很多。 改进TIME协议提高精确性 计算服务器到客户的网络时延近似值 客户计算从客户到服务器,再从服务器到客户的往返时延,取其一半作为时延的近似值。 针对TIME服务的UDP客户 UDPtime.c 程序说明:p65 变量定义 程序参数处理 建立UDP套接字 发送一个数据报 读取数据报 字节顺序转换, 换算成unix的时间起点 调用ctime转换成为可以读出的时间格式 ECHO服务 ECHO服务器返回从客户收到的所有数据 用户网络管理员测试可达性,调试协议软件,识别选路问题等 TCP ECHO服务:接收连接请求,从连接中读取数据,在该连接上将数据写回。直到客户终止传送。 UDP ECHO服务:接收整个数据报,根据数据报指明的端口号和地址,返回整个数据报 针对ECHO的TCP客户 TCPecho.c p66 客户主函数:main( ) 处理传入参数 TCPecho( ) 打开连接以后,进入循环 读出每行输入 通过TCP连接发送给ECHO服务器 读取返回的数据并打印 读出过程是一个循环,按照字符数量计数 完成所有的行输入后,程序退出 针对ECHO服务的UDP客户 UDPecho.c p67 同前面的TCP版本类似 读出返回数据的过程不同,只需要读出一次 UDP客户要么收到了由服务器返回的整个行,要么什么都没有收到。 除非出现差错,否则每次调用read都返回整个行 小结 过程抽象:易于维护,隐藏细节,移植 构造两个过程的例子: connectTCP connectUDP 给出几个客户应用的例子 DAYTIME:的到当日可读格式的时间 TIME:得到32比特整数形式的时间 ECHO: 测试网络联通性 关闭UDP套接字和UDP特点 close: 关闭套接字,释放与之关联的资源 拒绝以后到达的报文 没有通知远程端点 shutdown: 在某个方向上终止进一步传输 不向另外一方发送任何报文,只是在本地套接字标明不期望在指定的方向传输数据 客户关闭输出以后,服务器并不知道 UDP提供的是不可靠的交互 必须自己设计协议实现可靠性 * * * * * * * * * * * * * * * * * * * * * * * 《计算机通信与网络编程》 第六讲 客户软件设计 电子科技大学计算机学院 目录 应用程序如何发起通信成为客户 如何使用TCP或UDP与服务器联系 如何使用套接字调用与协议交互 客户软件举例 需要考虑的问题 应用程序必须指明的细节 客户还是服务器 端点地址 使用面向连接的还是无连接的 如何执行授权和防护准则 所需要的缓存的大小等 只需要概念性地了解套接字API 需要详细了解构造通信程序的各种方法,便于迅速作出设计决策。 客户体系结构 客户应用程序比较简单: 不必明显地处理并发性 不需要特权,和常规的应用程序一样执行 不需要强行保护,依赖操作系统自动强迫执行保护 标识服务器的位置 在编译程序时,将服务器的域名或者IP地址说明为常量 执行快,但是服务器移动后不便 要求用户在启动程序时标定服务器 使用机器名,不必重新编译客户程序 从稳定的存储设备中获得关于服务器的信息 如果文件不存在,客户软件就不能执行 使用某个单独的协议来找到服务器 只能在本地小环境下应用 用户在调用客户软件时指明服务器地址 根据实际情况,综合标识服务器地址 分析地址参数 参数由字符串构成,客户使用参数语法: 域名方式或IP地址方式 2. 域名和IP地址的确定:扫描参数,看是否含有字母。 3. 全参数化的客户软件允许用户指明协议端口号和机器 使用两个参数:mail.uestc.edu.cn smtp 使用单个参数:mail.uestc.edu.cn:sm

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档