基于TCP的网络通信协议设计毕业论文Word文档下载推荐.docx
《基于TCP的网络通信协议设计毕业论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于TCP的网络通信协议设计毕业论文Word文档下载推荐.docx(78页珍藏版)》请在冰豆网上搜索。
本文主要对即时通讯软件的协议的设计,从而为用户提供一个可靠的、专业的网上交流平台。
本次毕业设计是采用客户端/服务器架构模式,模拟现有网络通信协议,运用了计算机网络的基础知识如:
TCP,多线程以及WindowsSocket等,设计的一款简单的应用层网络通信协议。
本系统是在TCP之上,采用VisualC++6.0开发平台,基于MFC框架提供的WindowsSocket编程机制设计,运用Dialogbased组件构建界面,使用了C++面向对象的技术和面向对象的设计原则,使用VC++语言编写。
客户端与服务器端通过Socket传送消息。
服务器端设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不同的线程,从而实现多客户端聊天,大大增强了程序对服务器资源的利用和客户的等待是时间。
客户端与客户端以及客户端与服务器端采用事先约定好的数据结构作为传输数据结构,以便于客户端和服务器端顺利通信。
客户之间的通信经由服务器处理之后转发,服务器端对数据进行简单校验,以实现客户端之间的点对点通信。
关键词:
协议,即时通讯,多线程
ABSTRACT
Today,networkismoreandmoredeveloped,andpeoplearemoreandmoredependentonnetwork,nearlyarenotinseparablefromthenetwork.sotherearemoreandmoretoolsofcommunication,but,asweallknowbetweendifferentworkstations,servers,wanttingto communicate,duetotheexistenceoftheprotocol.Theprotocolcanhelpachievehighefficiencyandsecuritycommunication.Inthispaper,Itismainlyaboutaprotocoldesignforinstantmessagingtoprovideuserswithareliable,professionalonlinecommunicationplatform.
Thisgraduationdesignusestheclient/serverarchitecturemodel,simulatetheexistingnetworkcommunicationprotocols,andusethebasicknowledgeofcomputernetworksuchasTCP,multithreadingandWindowssocketsandsoon.Thedesignisasimplenetworkcommunicationprotocolofapplicationlayer.ThissystemisbasedonTCP,andusestheVisualc++6.0platform,takesadvantagesoftheMFCframeworkwhichprovidstheWindowsSocketprogrammingmechanismdesign,makesusesofDialog-basedcomponentstobuildinterface,andutilize theC++objectofferstheclassdesignprinciples,andusesvc++language.ClientandserverthroughSocketEstablishtheconnection.Intheproject,thedesignoftheServertakesadvantageaofthemultithreadingtechnology,socansupporttorunanumberofdifferentthreadsinthemidstofasingleprogram,soastorealizemultipleclientstorunatthesametime,itgreatlyenhancetheusingrateoftheServerresourcesandtheclients’waitingtime.Theclientandtheclient,theclientandtheserverusethepre-arrangeddatastructureasthereceivingdataandthedispatchingdata,sothattheclientandservercommunicationsmoothly.Clients’communicationbetweentheserver,afterreceivedadatapackage,itfirstlymakesasimpeprocessing,thenputforwards,sothatrealizingthepoint-to-pointcommunicationbetweenclients.
KEYWORDS:
protocol,instantmessagint,multithreading
目录
ABSTRACT III
第一章绪论 1
1.1项目开发背景和意义 1
1.2开发和运行环境 2
第二章开发工具简介 3
2.1VisualC++6.0介绍 3
2.2MFC 3
2.3MSDN 4
2.4VisualAssistX 4
第三章协议设计涉及知识简介 6
3.1即时通讯 6
3.2网络协议 7
3.3OSI七层网络模型 7
3.4 TCP/IP协议 8
3.5TCP传输 8
3.6C/S编程模型 9
3.7Socket套接字 10
3.8网络字节顺序 10
3.9WindowsSockets 11
3.10同步、异步、阻塞和非阻塞 12
3.11多线程 12
第四章需求分析 14
4.1整体需求分析 14
4.2可行性分析 14
第五章概要设计 1
5.1性能要求 1
5.2通讯协议格式设计 1
5.3软件工作模式图 2
5.4软件设计原理 2
第六章详细设计 5
6.1协议设计 5
6.2服务器端工程设计 7
6.3客户端工程设计 12
6.4多线程设计(一台服务器与多个客户端通信) 21
6.5协议工作设计 23
第七章系统测试 32
7.1测试目的 32
7.2测试要求 32
7.3测试方法 32
7.4系统测试 33
总结 45
致谢 47
参考文献 48
第一章 绪论
1.1项目开发背景和意义
计算机网络技术的飞速发展,使得人类社会正全面迈向信息化。
近几年来,信息网络更是以前所未有的速度不断发展壮大,广泛应用于人类的生产、生活、学习和娱乐等各个领域,极大地促进了人类社会的进步。
即时通讯作为目前的主要应用之一,已经极大的融入到我们生活的各个领域。
即时通信是一个终端连往一个即时通信网路的服务。
即时通信不同于e-mail在于它的交谈是实时的。
大部分的即时通信服务提供了presenceawareness的特性──显示联络人名单,联络人是否在在线与能否与联络人交谈。
即时通信(InstantMessage),由于其具有实时性、跨平台性、成本低、效率高等优点而受到广泛的使用。
即时通讯软件的迅速发展已经突破了作为技术工具的极限,被认为是现代交流方式的象征。
在网络通讯时,必须选用正确的网络通讯协议,以保证不同连接方式和操作系统的计算机之间可以进行数据传输。
如何让通讯双方更决捷有效安全地沟通,就成为大家关心的问题。
一个良好的协议设计可以很好的解决这个问题。
我们知道,并且大家也都在用,QQ,微信,飞信,MSN,YY等众多的即时通讯软件,已经成为了目前大家交流必不可少的工具,然而这些聊天工具虽然方便、实用,但是,由于其功能太多,如游戏,社区,电子邮件等功能,占据内存空间过大,从一定程度上来说,更多的已经演变成了一种娱乐工具,不能作为即时通讯的专用工具。
签于此,一个简单友好的即时通讯的网络聊天工具的开发就显得必不可少了,而我们知道,网络通讯少不了相应的软件协议的支持,我们本次的设计目标就是设计一个专用于支持内容简单,占用内存小的计算机之间即时通讯的网络聊天协议。
本系统使用当前流行的MFC框架,c++语言编写,采用面向对象的思想设计,基于TCP传输控制协议。
切实考虑大众用户的需求,为方便用户之间的沟通,为大家提供了一个简单的用以支持即时通讯的网络聊天协议。
本文首先对本次协议设计所用的开发平台以及开发工具做了简单介绍,其次又对开发中所用到的知识点做了系列概括,接着是需求分析,在此基础上那个提出了对软件协议设计的设计方案,然后分析了协议的各类型字段,最后讲了该协议的具体实现。
网络协议一直以来作为信息网络的核心支柱之一。
近年来,网络的新概念新方法、新技术以惊人的速度不断涌现,软硬件不断升级换代,新的产品和业务更是层出不穷出不穷,令人目不暇接,网络协议更是不断完善,以来更好的为信息化社会服务。
不难发现,网络技术如同自然界的生物一样,是一个新旧更替,优胜劣汰的发展过程。
陈旧落后的技术不论是网络协议还是其他,必然被新的,更加先进的技术所替代。
作为网络工程系的学生,必须在打牢网络理论基础,不断更新学习各种网络新技术的同时,并且能够把学到的理论知识应用于实践中去,以便于深入理解网络体系结构和运行机制,切实掌握各种网络技术的基本原理、软、硬件设计方法和相关协议以及算法。
而本次设计就是针对这一目标,结合本人在大学四年的理论学习和各种实践,对网络协议一次模拟设计,及时对本人大学学习情况的考察,也是自己对自己在大学所学知识的一次系统整叠和梳
1
理,更是对自己的一次锻炼。
1.2开发和运行环境
操作系统:
Win7
编辑和运行平台:
VisualC++6.0编码语言:
MFC
协助软