- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
互联网程序设计 电子科大计算机学院 针对DAYTIME的TCP客户实现 TCPdaytime.c 的实现说明。 #include语句 变量、恒量和函数定义 客户程序主函数main,含参数 int main (int argc, char *argv[]) 对参数的个数进行判断,根据参数数量的不同进行不同的参数处理 如果出错,提示使用方法,退出 调用TCPdaytime( )获得服务器服务 使用connectTCP得到套接字 循环等待服务器的响应,并送到标准文件显示 互联网程序设计 电子科大计算机学院 从TCP连接中进行读 TCP提供流式服务,不保持记录边界 发送应用程序和接收应用程序分开了 发送2个64字节,可能接收1次或者3次完成 一次TCP连接的读操作调用返回的字节数依赖于下层互联网络数据报的大小,可用的缓存空间,以及穿越网络所遇到的时延。 必须要重复地调用recv(或者read),直到获得所有的数据 TCP的流服务不能保证按写入时相同的数据块交付数据 互联网程序设计 电子科大计算机学院 TIME服务 允许一台机器从另外一台机器获得日期和时间。 由于存在不同的时区,所有的时间日期信息必须用国际标准时间:UCT或UT 服务器应答前将本地时间转化为标准时间 客户收到应答时,将国际标准时间转化为本地时间。 TIME协议规定由32bit的整数来表示 从1990年1月1日午夜为起点的秒数 用于一台计算机使用另外一系统时钟来设置起事件 互联网程序设计 电子科大计算机学院 访问TIME服务 TIME服务使用端口37 可以使用TCP协议 使用TCP的TIME服务器利用连接的出现激活输出,类似DAYTIME服务。 使用TCP的客户不用发送任何数据 也可以使用UDP访问TIME服务 客户发出包含单个数据报的请求 服务器从传入的数据报中取出地址和端口号 服务器将当前时间编码为一个整数,使用上述地址和端口号发回给客户 互联网程序设计 电子科大计算机学院 精确时间和网络时延 由于网络时延,客户收到的时间慢了 尽管有更加复杂的协议来处理时钟同步 TIME协议因为简单,在局域环境中,在某些环境下,还是使用很多。 改进TIME协议提高精确性 计算服务器到客户的网络时延近似值 客户计算从客户到服务器,再从服务器到客户的往返时延,取其一半作为时延的近似值。 互联网程序设计 电子科大计算机学院 针对TIME服务的UDP客户 UDPtime.c 程序说明: 变量定义 程序参数处理 建立UDP套接字 发送一个数据报 读取数据报 字节顺序转换, 换算成unix的时间起点 调用ctime转换成为可以读出的时间格式 互联网程序设计 电子科大计算机学院 ECHO服务 ECHO服务器返回从客户收到的所有数据 用户网络管理员测试可达性,调试协议软件,识别选路问题等 TCP ECHO服务:接收连接请求,从连接中读取数据,在该连接上将数据写回。直到客户终止传送。 UDP ECHO服务:接收整个数据报,根据数据报指明的端口号和地址,返回整个数据报 互联网程序设计 电子科大计算机学院 针对ECHO的TCP客户 TCPecho.c 客户主函数:main( ) 处理传入参数 TCPecho( ) 打开连接以后,进入循环 读出每行输入 通过TCP连接发送给ECHO服务器 读取返回的数据并打印 读出过程是一个循环,按照字符数量计数 完成所有的行输入后,程序退出 互联网程序设计 电子科大计算机学院 针对ECHO服务的UDP客户 UDPecho.c 同前面的TCP版本类似 读出返回数据的过程不同,只需要读出一次 UDP客户要么收到了由服务器返回的整个行,要么什么都没有收到。 除非出现差错,否则每次调用read都返回整个行 互联网程序设计 电子科大计算机学院 小结 过程抽象:易于维护,隐藏细节,移植 构造两个过程的例子: connectTCP connectUDP 给出几个客户应用的例子 DAYTIME:得到当日可读格式的时间 TIME:得到32比特整数形式的时间 ECHO: 测试网络联通性 * * * 本地广播 * * * * * * * 电子科大计算机学院 《互联网程序设计》 第三讲 客户端软件设计 电子科技大学计算机学院 赵洋 zhaoyang@uestc.edu.cn 互联网程序设计 电子科大计算机学院 在程序中使用套接字调用 使用TCP的客户和服务器套接字函数调用序列 socket 客户端 connect send recv close socket 服务器端 bind listen accept close send recv 互联网程序设计 电子科大计算机学院 套接字调用参数使用的符号常量 UNIX系统提供了预定义的符号常量和数据结构来声明数据和指明参数: 使用何种服务: SO
您可能关注的文档
最近下载
- 备品备件的供应及保障措施.docx VIP
- 高质量数据集建设实施路径(34页 PPT).pptx VIP
- python用遗传算法优化神经网络_使用Python优化神经网络参数的遗传算法.pdf VIP
- 部编版语文四年级上册必背必考段落背默填空训练.docx VIP
- 中医医院临床路径管理制度汇编.docx VIP
- DGTJ08-60-2017 机械式停车库(场)设计规程.pdf VIP
- 在线网课学习课堂《人工智能(北理 )》单元测试考核答案.pdf VIP
- 民用机场物联网平台建设指南(TCCAATB 0032-2022).pdf VIP
- 十遗传算法与优化问题.ppt VIP
- 盐类的水解公开课.ppt VIP
原创力文档


文档评论(0)