电子科技大学计算机网络编程实验time客户端.doc

电子科技大学计算机网络编程实验time客户端.doc

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

实验报告 课程名称:计算机网络编程 学  院:计算机科学与工程学院 专  业:计算机科学与技术 指导教师: 学生姓名田茂 学  号:2013060103004 实验成绩: 日  期:2015年11月 电子科技大学计算机学院实验中心 电 子 科 技 大 学 实 验 报 告 实验三:(实验项目的名称):针对TIME服务的UDP客户软件的实现 实验室名称: 主楼A2-412 实验时间:第十二周周五19:00-21:00 三、实验目的: 1. 掌握UDP客户端软件的工作原理。 2. 掌握针对TIME服务的UDP客户端软件的编程步骤和编程实现,并最终形成可执行代码。 四、实验原理: TCP/IP定义一种服务,它允许一台机器从另外一台机器获得当前的时间和日期,该服务正式命名为恶TIME。服务器只要收到请求,就从本地的操作系统中获取当前的日期和时间,使用标准的格式编码该信息,然后在响应中发给客户。客户可以使用UDP在协议端口37上访问TIME服务。 在本实验中,通过发送数据联系TIME服务,然后,程序会调用read等待应答并从应答中取出时简值。time_c一旦获得时间,将该时间转换为适合本地机器的形式。 五、实验内容: 本实验主要完成针对TIME服务的UDP客户软件的实现。实验内容包括: 1、编程环境的准备,要求在Linux操作系统下安装GCC或CC编译器。 2、利用编辑器编写客户软件代码(编辑器自选,如文本编辑器,或Linux的Vi等) 3、利用GCC编译器调试并形成可执行代码 4、运行客户程序,验证功能实现。 5、程序框图: 六、实验器材(设备、元器件): Ubtuntu14.04操作系统;gcc编译工具;ScureCRT工具 七、实验步骤: 本实验主要任务是编写完成基于UDP协议的客户端网络程序,该网络客户程序能通过互联网访问任一台开通TIME服务的主机。 实验首先通过在服务器机器上启动基于UDP的TIME服务,该主机既可以运行Windows操作系统,也可以运行Linux操作系统。然后在客户机上启动基于UDP的TIME客户程序,该客户程序通过发送数据报联系TIME服务,从应答中获得了时间后,将该时间转换为适合于本地机器的形式并打印。 具体的实验步骤如下: 在Windows机上安装Linux环境, 在Vmware下安装Ubuntu,利用编辑器编写源程序,以下为vi示例。 利用编辑器编写源程序 3.源代码如下: #include stdio.h #include stdlib.h #include unistd.h #include string.h #include stdarg.h #include sys/types.h #include sys/socket.h #include netinet/in.h #include arpa/inet.h #include netdb.h #include time.h #include errno.h #define BUFSIZE 64 #define UNIXEPOCH 2208988800UL #define MSG what time is it?\n extern int errno; int errexit(const char *format,...); int connectsock(const char *host, const char *service, const char *transport ); int connectUDP(const char *host, const char *service); int main(int argc, char *argv[]){ char *host= localhost; char *service= time; time_t now; int s,n; switch(argc){ case 1: host = localhost; break; case 3: service = argv[2]; case 2: host=argv[1]; break; default: fprintf(stderr,usage: UDPtime[host[port]]\n); exit(1); } s=connectUDP(host,service); (void)write(s,MSG,strlen(MSG)); n=read(s,(char *)now,sizeof(now)); if(n0) errexit(read failed: %s\n,

文档评论(0)

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

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

1亿VIP精品文档

相关文档