网络工程课程设计---基于CS的简单通信通信协议.doc_第1页
网络工程课程设计---基于CS的简单通信通信协议.doc_第2页
网络工程课程设计---基于CS的简单通信通信协议.doc_第3页
网络工程课程设计---基于CS的简单通信通信协议.doc_第4页
网络工程课程设计---基于CS的简单通信通信协议.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学号 09730127网络工程课程设计设计说明书基于c/s的简单通信通信协议)起止日期:2012年7月2日至2012年7月13日学生姓名班级09网络1成绩指导教师(签字)计算机与信息工程学院2012年7月13日天津城市建设学院课程设计任务书2011 2012 学年第 二 学期 电子与信息工程 系 网络工程 专业 一 班级课程设计名称: 网络工程课程设计 设计题目: 基于c/s的简单通信通信协议 完成期限:自 2012 年 7 月 2 日至 2012 年 7 月 13 日共 2 周设计依据、要求及主要内容:一、 设计目的了解网络协议工作原理,并使用编程实现。二、设计要求 在本课程设计过程中要求学生:(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;(2)按照课程设计的题目要求,独立地完成各项任务。(3)学生在接受设计任务后,根据要求认真完成。(4)认真编写课程设计报告。三、设计内容写一个软件,并用此软件实现某个网络传输协议的功能指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日摘 要本次课程设计完成一个简单的通信协议,使用c+语言在基于对c/s模式了解的基础上,并利用socket套接字完成这个协议。目录第1章 程序定义1第2章 需求分析1第3章 程序设计13.1 开发环境及工具13.2结构设计13.2.1 client客户端13.2.2服务器端23.3详细设计33.3.1系统数据结构3第4章 实验结果6第5章 实验心得7参考文献7第1章 程序定义本程序采用tcp/ip协议的套接字功能完成,并在c/s模式的基础上建立的,拥有一个server客户端以及client客户端,并能够实现两个客户端的相互通信。第2章 需求分析socket通常也称作套接字,用于描述ip地址、端口和传输协议,是一个通信链的句柄。ip地址是每个主机的网络地址,是唯一的,同时程序端口号是应用软件运行的编号,而传输协议是通信过程中所采用的传输协议,所以每个socket套接字是每个程序特定的编号。server建立的时候在监听整个网络环境,当以相同socket套接字进行建立连接请求的时候才会接受这种连接请求。每种服务都打开一个socket,并绑定到一个端口上,不同的端口对应于不同的服务。本程序是一个聊天程序,为了能过进行简单的通信过程。第3章 程序设计3.1 开发环境及工具l 开发工具microsoft visual c+ 6.0l 开发语言c+3.2结构设计3.2.1 client客户端3.2.2服务器端3.3详细设计3.3.1系统数据结构client客户端程序:#include #include #pragma comment(lib,ws2_32.lib)void main()word wversionrequested;wsadata wsadata;int err;wversionrequested = makeword( 1, 1 );/请求1.1版本的winsock库err = wsastartup( wversionrequested, &wsadata );if ( err != 0 ) return;if ( lobyte( wsadata.wversion ) != 1 | hibyte( wsadata.wversion ) != 1 ) wsacleanup( );return; socket sockclient=socket(af_inet,sock_dgram,0);sockaddr_in addrsrv;addrsrv.sin_addr.s_un.s_addr=inet_addr(127.0.0.1);addrsrv.sin_family=af_inet;addrsrv.sin_port=htons(6000);char recvbuf100;char sendbuf100;char tempbuf200; int len=sizeof(sockaddr);while(1)printf(请输入消息:n);gets(sendbuf);sendto(sockclient,sendbuf,strlen(sendbuf)+1,0,(sockaddr*)&addrsrv,len);recvfrom(sockclient,recvbuf,100,0,(sockaddr*)&addrsrv,&len);sprintf(tempbuf,%s 说: %s,inet_ntoa(addrsrv.sin_addr),recvbuf);printf(%sn,tempbuf);closesocket(sockclient);wsacleanup();while(1);server客户端程序:#include #include #pragma comment(lib,ws2_32.lib)void main()word wversionrequested;wsadata wsadata;int err;wversionrequested = makeword( 1, 1 );/请求1.1版本的winsock库err = wsastartup( wversionrequested, &wsadata );if ( err != 0 ) return;if ( lobyte( wsadata.wversion ) != 1 | hibyte( wsadata.wversion ) != 1 ) wsacleanup( );return; /加载完套接字的库后,创建套接字 socket socksrv=socket(af_inet,sock_dgram,0);/将套接字绑定到地址sockaddr_in addrsrv;addrsrv.sin_addr.s_un.s_addr=htonl(inaddr_any);addrsrv.sin_family=af_inet;addrsrv.sin_port=htons(6000);bind(socksrv,(sockaddr*)&addrsrv,sizeof(sockaddr); char recvbuf100;char sendbuf100;char tempbuf200;sockaddr_in addrclient;/获取通讯方的地址信息int len=sizeof(sockaddr);while(1)recvfrom(socksrv,recvbuf,100,0,(sockaddr*)&addrclient,&len);sprintf(tempbuf,%s 说: %s,inet_ntoa(addrclient.sin_addr),recvbuf);printf(%sn,tempbuf);printf(请输入消息:n);gets(sendbuf);/获取一行数据,回车结束 sendto(socksrv,sendbuf,strlen(sendbuf)+1,0,(sockaddr*)&addrclient,len);closesocket(socksrv);wsacleanup();while(1);第4章 实验结果 server客户端client客户端第5章 实验心得通过此次的实验,让我对于socket网络聊天类的使用有了更深入的了解,在关于网络编程的方面也有了新的认识。虽然此程序的功能还比较的简单,而且某些方面还没能完善,但是,我相信我只是一个开始。课程设计是每一个大学生在大学生涯中都不可或缺的,它使我们在实践中了 巩固了所学的知识、在实践中锻炼自己的动手能力;实习又是对每一位大学生所 学专业知识的一种拓展手段, 它让我们学到了很多在课堂

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论