版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告课程名称:计算机网络编程学院:计算机科学与工程学院专业:计算机科学与技术指导教师:学生姓名田茂学号:2013060103004实验成绩:日期:2015年11月电子科技大学计算机学院实验中心电 子 科 技 大 学实 验 报 告一、 实验三:(实验项目的名称):针对TIME服务的UDP客户软件的实现二、 实验室名称: 主楼A2-412 实验时间:第十二周周五19:00-21:00 三、实验目的:1.掌握UDP客户端软件的工作原理。2.掌握针对TIME服务的UDP客户端软件的编程步骤和编程实现,并最终形成可执行代码。四、实验原理:TCP/IP定义一种服务,它允许一台机器从另外一台机器获得当前
2、的时间和日期,该服务正式命名为恶TIME。服务器只要收到请求,就从本地的操作系统中获取当前的日期和时间,使用标准的格式编码该信息,然后在响应中发给客户。客户可以使用UDP在协议端口37上访问TIME服务。在本实验中,通过发送数据联系TIME服务,然后,程序会调用read等待应答并从应答中取出时简值。time_c一旦获得时间,将该时间转换为适合本地机器的形式。五、实验内容:本实验主要完成针对TIME服务的UDP客户软件的实现。实验内容包括:1、编程环境的准备,要求在Linux操作系统下安装GCC或CC编译器。2、利用编辑器编写客户软件代码(编辑器自选,如文本编辑器,或Linux的Vi等)3、利用
3、GCC编译器调试并形成可执行代码4、运行客户程序,验证功能实现。5、程序框图:六、实验器材(设备、元器件):Ubtuntu14.04操作系统;gcc编译工具;ScureCRT工具七、实验步骤:本实验主要任务是编写完成基于UDP协议的客户端网络程序,该网络客户程序能通过互联网访问任一台开通TIME服务的主机。实验首先通过在服务器机器上启动基于UDP的TIME服务,该主机既可以运行Windows操作系统,也可以运行Linux操作系统。然后在客户机上启动基于UDP的TIME客户程序,该客户程序通过发送数据报联系TIME服务,从应答中获得了时间后,将该时间转换为适合于本地机器的形式并打印。具体的实验步
4、骤如下:1、 在Windows机上安装Linux环境, 在Vmware下安装Ubuntu,利用编辑器编写源程序,以下为vi示例。2、 利用编辑器编写源程序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>#incl
5、ude <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
6、*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 = argv2;case 2: host=argv1; break;default: f
7、printf(stderr,"usage: UDPtimehostportn"); exit(1); s=connectUDP(host,service); (void)write(s,MSG,strlen(MSG); n=read(s,(char *)&now,sizeof(now); if(n<0) errexit("read failed: %sn",strerror(errno); now=ntohl(unsigned long)now); now-=UNIXEPOCH; printf("%s",ctime(&a
8、mp;now); exit(0);int errexit(const char *format,.) va_list arg; va_start(arg, format); vfprintf(stderr,format,arg); va_end(arg); exit(1);int connectsock(const char *host, const char *service, const char *transport ) struct hostent *phe; struct servent *pse; struct protoent *ppe; struct sockaddr_in s
9、in; int s, type; memset(&sin, 0, sizeof(sin); sin.sin_family = AF_INET; if ( pse = getservbyname(service, transport) ) sin.sin_port = pse->s_port; else if (sin.sin_port=htons(unsigned short)atoi(service) = 0) errexit("can't get "%s" service entryn", service); if ( phe
10、= gethostbyname(host) ) memcpy(&sin.sin_addr, phe->h_addr, phe->h_length); else if ( (sin.sin_addr.s_addr = inet_addr(host) = INADDR_NONE ) errexit("can't get "%s" host entryn", host); if ( (ppe = getprotobyname(transport) = 0) errexit("can't get "%s&q
11、uot; protocol entryn", transport); if (strcmp(transport, "udp") = 0) type = SOCK_DGRAM; else type = SOCK_STREAM; s = socket(PF_INET, type, ppe->p_proto); if (s < 0) errexit("can't create socket: %sn", strerror(errno); if (connect(s, (struct sockaddr *)&sin, sizeof(sin) < 0) errexit("can't connect to %s.%s: %sn", host, service, strerror(errno); return s;int connectUDP(const char *host, const char *service) return
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司长期供货合同完整版模板
- 茶叶买卖服务协议
- 工程质量考核细则
- 工程造价大学生毕业实习报告范文文档
- 工程造价个人工作总结
- 工程造价-;只要你学习-从事建筑-不管是什么专业绝对能用到
- 辅导班合作协议范本新
- 湖北省黄石市阳新县2024年七年级上学期期中数学试题【附答案】
- 中考物理复习专项类型2跨学科实践题组课件
- 5.2土壤-解密土壤教学课件人教版(2019)高中地理必修一
- 四年级上册语文生字表(带拼音、部首、笔画、组词)
- 工程项目管理-英文课件-RiskManagement.ppt
- 手绘POP海报设计ppt课件
- 同花顺公式函数手册
- (完整版)采暖通风与空气调节设计规范
- 中历史课堂教学的不同课型的基本方法和要求
- 中央空调管网改造工程施工组织设计
- 单位公务用车加油登记表格模板正式版
- linux说课教学内容
- 校服发布主持稿(202103)
- 马尔可夫过程
评论
0/150
提交评论