电子科技大学计算机网络编程echo客户端的实现.docx

电子科技大学计算机网络编程echo客户端的实现.docx

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

实验报告

课程名称:计算机网络编程

学 院:计算机科学与工程学院专 业:计算机科学与技术

指导教师:

学生姓名:田茂学 号:

实验成绩:

日 期:2015年11月

电子科技大学计算机学院实验中心

电 子 科 技 大 学

实 验 报 告

一、实验一:(实验项目的名称):针对ECHO服务的TCP客户软件的实现二、实验室名称:主楼A2-412 实验时间:第十周周日9:00-12:00

三、实验目的:

掌握TCP客户端软件的工作原理。

掌握针对ECHO服务的TCP客户端软件的编程步骤和编程实现,并最终形成可执行代码

四、实验原理:

Echo服务是一种非常有用的用于调试和检测的工具。这个协议的作用也十分简单,接收到什么原封发回就是了。基于TCP协议的Echo服务有一种Echo服务被定义为在TCP协议上的面向连接的应用。主要用于调试和检测中。它可以基于TCP协议,服务器就在TCP端口7检测有无消息,如果使用UDP协议,基本过程和TCP一样,检测的端口也是7。是路由也是网络中最常用的数据包,可以通过发送echo包知道当前的连接节点有那些路径,并且通过往返时间能得出路径长度。

五、实验内容:

本实验主要完成针对ECHO服务的TCP客户软件的实现。实验内容包括:

1、编程环境的准备,要求在Linux操作系统下安装GCC或CC编译器。

2、利用编辑器编写客户软件代码(编辑器自选,如文本编辑器,或Linux的Vi等)

3、利用GCC编译器调试并形成可执行代码

4、运行客户程序,验证功能实现。

5、程序框图如下:

六、实验器材(设备、元器件):

VMwareWorkstation,Ubtuntu操作系统,gcc编译工具,SecureCRT

七、实验步骤:

1、在Windows机上安装Linux环境,如Vmware下安装Linux,或装Ubuntu,

或直接安装Linuxhat等.2.利用SecureCRT编写源程序

源代码如下:

#includestdio.h#includestdlib.h#includeunistd.h#includestring.h#includestdarg.h#includesys/types.h#includesys/socket.h#includenetinet/in.h#includearpa/inet.h#includenetdb.h#includeerrno.h#defineLINELEN128externinterrno;

intTCPecho(constchar*host,constchar*service);interrexit(constchar*format,...);

intconnectsock(constchar*host,constchar*service,constchar*transport);intconnectTCP(constchar*host,constchar*service);

intmain(intargc,char*argv[]){

char*host=localhost;char*service=echo;switch(argc){

case1:

host=localhost;break;

case3:

service=argv[2];case2:

host=argv[1];break;

default:

fprintf(stderr,usage:TCPecho[host[port]]\n);exit(1);

}

TCPecho(host,service);exit(0);

}

intTCPecho(constchar*host,constchar*service){charbuf[LINELEN+1];

ints,n;

intoutchars,inchars;s=connectTCP(host,service);while(fgets(buf,sizeof(buf),stdin)){

buf[LINELEN]=\0;

outchars=strlen(buf);(void)write(s,buf,outchars);for(inchars=0;incharsoutchars;inchars+=n){

n=read(s,buf[inchars],outchars-inchars);if(n0)

errexit(sockerreadfailed:%s\n,strerror(errno));

}

文档评论(0)

hao187 + 关注
官方认证
内容提供者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档