




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于TCP协议的网络通信设计和实现样本 于基于P TCP协议的网络通信设计和实现于基于TCP协议下的简单网络通信与实现摘要要在本文设计并实现了在Windows下基于局域的网内的TCP协议的简单即时通信系统,系统采用用TCP/IP模式,底层通信通过SOCKET套接字接口对端口进行监听,当有消息发送来时,做出相应的处理,服务器负责客户端的登录验证。 本文首先讨论了套接字创建、绑定、将套接字设置为监听模式、接受信息和关闭套接字从而实现简单的网络通信,用然后阐述了如何使用C+于来模拟基于TCP协议下的客户服务方式的网络用通信过程。 由于在此设计中主要是使用C程序的形式拟来模拟TCP协议的传输方式,从而实现面对向对象的可靠传输,在这种情况下无需对IP协协议进行讨论。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 关键字:套接字TCP协议本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 目录 文档如有不当之处,请联系本人或网站删除。 、TCP传输控制协议.、套接字 文档如有不当之处,请联系本人或网站删除。 文档如有不当之处,请联系本人或网站删除。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 1、引言、课题背景TCP/IP起源于美国国防部高级研究规划部署(DARPA)的一项研究计划实现若干台主机的相互通信。 现在,TCP/IP为已成为Inter上通信的工业标准。 为因为OSI模型的七层参考模型比较复杂,并且在实际运用中难以实现,所以当前应用比较多是的是TCP/IP模型,该模型包括4个层次:应用层运输层网络层网络接口层于对于TCP/IP网络层次模式,核心协议是网络的层的IP协议,和运输层的TCP协议,这也是为为何成为TCP/IP协议的缘由。 、相关技术介绍本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 NET开发平台及C.NET开发语言NET框架是Microsoft公司推出的一种全新的开发平台,提供了统一的、面向对象并且能够扩展的境编程类库和完善的集成开发环境,大大简化了应程用程序的开发过程,并且具有良好的移植性和安全性。 ,C#。 C#是由C和和C+派生而来的一种“简单、流行、面向对象、类型安全”的程序设计语了言,其综合了Visual basic的高效率和C+的强觉大功能,然而更多的人感觉C#更类似JAVA。 事上实上C#融合了大量的JAVA思想,C#,。 与C#相比,.NET所支持的其它语言显然是配角,包括括VC+.NET在内。 但是微软并没有打算放弃VC+.NET,相反,微软对VC+.NET有着另一番独特的打算,VC+.NET的定位与C#不完全重合,VC+.NET应用范围仍强于C#,这一点无论对微软公司还是软件业应用现状都非常重要。 见可见VC+.NET在在NET框架中已经退化成了底本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 像层的语言了,就像C+之前的标准C语言一样,以后将只有开发底层或桌面程序的程序员使用它。 它虽然仍旧强大,但是已经不是主流,而主是流就是C#语言。 、TCP协议TCP/IP网络协议协议是对等的网络实体之间通信的规则,能够简单地理解为网络上各计算机彼此交流的一种“语言”。 网络通信协议设计的基本原则是层次化,层和协议的集合被称为网络体系结构。 相邻层之间的接口定义了下层向上层提供的基本操作和服务,下层向上层提供的服务分两种形式:面向连接的服务和无连接的服务。 计算机网络中已经形成的网络体系结构主要有两个:OSI参考模型和TCP/IP。 参考模型。 TCP/IP参考模型是因特网(Inter和)的基础。 和OSI的的7层协议相比,TCP/IP协议只有4个层次。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 的通常说的TCP/IP,是一组协议的总称,TCP/IP实实括际上是一个协议族,包括100多个相互关联的协中议,其中IP(Inter Protocol,网际协议)是网络;层最主要的协议;TCP(Transmission ControlProtocol,传输控制协议)和和UDP(User DatagramProtocol,用户数据报协议是传输层中最主要的协议议),一般认为IP、TCP、UDP是最根本的三种协议,是其它协议的基础。 、TCP传输控制协议面向连接的通信能够使用可靠通信,在这时候,第四层协议发送数据接收方的确认,如果未收到数据或者数据被损坏,则请求重新传输。 TCP协协议就使用这种可靠通信。 用使用TCP协议的应用层协议包括、FTP、SMTP和和Tel等。 TCP要求在发送数据之前必须打开连接。 服务器(应用程序必须执行一个称作被动打开(passive本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 open)的操作,以利用一个已知的端口号创建一个链接,这是,服务器并不是对网络进行呼叫,而是侦听并等待引入的请求。 客户应用程序必须执行一个主动打开(active open),为此,它向服务器应用程序发送一个同步序列号(SYN)以标识连接。 客户应用程序能够将动态端口号作为本地端口使用。 服务器必须向客户发送一个确认(ACK)以及服务器的序列号(SYN)。 随后,个客户回复一个ACK,这样就建立了链接。 现在能够发送和接收消息了。 接收消息后,总是回返回ACK消息。 如果在收到ACK之前发送方已经超时,则消息将被放到重发队列中以再次发送。 以由于它的握手机制,所以TCP协协议比较复杂并且费时,但此协议在处理数据时对数据包的传送有保障,从而使得在应用程序协议中不需要再包括该功能。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 、套接字套接字这个术语并没有定义某个协议:它具有两层含义,但两者都与一个协议相关。 第一个含义程是套接字编程API,它最初由伯克利大学为BSD UNIX而创建。 BSD套接字在经过修改后被用作Windows环境的编程接口(并且被命名为WinSock)。 WinSock。 Windows Sockets是一个独立于协议的编程接口,用于编写网络应用程序。 套接字的第二层含义表示一个用于在进程间进行通信的在终端。 在TCP/IP中,每个终端都与一个个IP地址和一个端口号绑定。 我们必须对流式套接字和数据报套接字这两种类型进行区分。 流用失套接字用TCP/IP协议来使用面向连接的通用信;另一方面,数据报套接字用UDP/IP来使用无连接通信。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 2、系统框架使用TCP连接Inter传输隧道使用TCP连接Inter传输隧道客户客户字节流字节流客户与客户传输流图构架 3、系统设计本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 利用socket函数创建套接字将这个套接字绑定到本地一个本地的某个地址和端口这时需要调用bind函数调用listen函数调用aept函数等待并接受客户连接请求用send函数向客户发送端数据调用closesocket关闭监听需要调用WASCleanup等待客户请求到来;当请求到来后,接受连接请求返回一个新的对应于此连接的套接字(aept)等待客户请求到来;当请求到来后,接受连接请求返回一个新的对应于此连接的套接字(aept)创建套接字创建套接字将套接字绑定到一个本地地址口上将套接字绑定到一个本地地址口上将套接字设置为监听模式(listen)准备接受客户请求将套接字设置为监听模式(listen)准备接受客户请求用放回套接字和用户进行通信(send/recv)用放回套接字和用户进行通信(send/recv)返回等待另一客户请求返回等待另一客户请求关闭套接字关闭套接字本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 4、系统的实现、服务器端程序#include#includeVoid main()/加载套接字库WORD wVersionRequested;WSADATA wsaDdata;Int error;wVersionRequested=MAKEWORD(1,1);err=WSAStarup(wVersionRequested,&wsaDATA);本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 if(err!=0)return;If(LOBYTE()!=1|HIBYTE()!=1)WSACleanup();Return;/创建用于监听的套接字SOCKET sockSrv=socket(AF-INET,SOCK-STREAM,0);SOCKADDR-IN addrSrv;=hotonl(INADDR-ANY);=AF-INET;=htons (6000)本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 /绑定套接字Bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR);/将套接字设为监听模式,准备接收客户请求求Listen(sockSrv,s);SOCKADDR-IN addrClient;Int len=sizeof(SOCKADDR);While (1)/等待客户请求到来SOCKET sockConn=aept(sockSrv,(SOCKADDR*)&addrClient,&len);Char sendBuf (100);本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 Sprintf(sendBuf,)”Wel%s to”,ine-ntoa();/发送数据Send(sockConn,sendbuf,strlen(sendBuf)+1,0);Char recvBuf (100);/接受数据Recv(sockConn,recvBuf,100,0);/打印接受的数据Printf(“%sn”,recvBuf);/关闭套接字Closesocket(sockConn);本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 、客户端程序#include#includeVoid main()/加载套接字库WORD wVersionRequested;WSADATA wsaDdata;Int error;wVersionRequested=MAKEWORD(1,1);err=WSAStarup(wVersionRequested,&wsaDATA);if(err!=0)return;本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 If(LOBYTE()!=1|HIBYTE()!=1)WSACleanup();Return;/创建套接字SOCKET sockSrv=socket(AF-INET,SOCK-STREAM,0);SOCKADDR-IN addrSrv;=hotonl(INADDR-ANY);=AF-INET;=htons (6000)/向服务器发出连接请求本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 Connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR);/接受数据Char recvBuf100;Recv(sockClient,recvBuf,100,0);Printf(“%sn”,recvBuf);/发送数据Send(sockClient,”This islisi”,strlen(“This inlisi”)+1,0);/关闭套接字Closesocket(sockConn);WSACLeanup();本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 结论在此设计中仅仅适合于数量少的计算机间的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省德州市武城县实验中学、武城县第二中学2024-2025学年八年级上学期第一次联考历史试卷(含答案)
- 湖南省邵阳市2025-2026学年高一上学期9月联考语文试题(含答案)
- 部门级安全培训计划课件
- 《工程施工土建监理建筑监理资料》某市国家税务局办公楼装饰装修工程施工组织设计
- 部门安全教育培训课件
- 部门主任入场安全培训课件
- 避免意外伤害的课件
- 碳化土壤生态功能退化-洞察及研究
- 基于多模态数据融合的出血时间预测系统可靠性验证方法
- 基于光谱分析的复合型制冷剂混合气体识别技术瓶颈突破
- 患者身份识别管理标准WST840-2025学习解读课件
- 高等传热学全册课件
- 人教版四年级数学上册全册电子教案
- 新《高等教育学》考试复习题库450题(含各题型)
- 三字经全文带拼音注释打印版
- 函数的概念学习任务单-高一上学期数学人教A版(2019)必修第一册
- 产品技术规格书模板
- 《绿色建筑评价标准》解读
- 小学数学 北师大版 六年级上册 第二单元第1课时《分数混合运算(一)》 课件
- 《冷冲压工艺与模具设计》完整版ppt课件全套教程
- 生姜检验报告单
评论
0/150
提交评论