基于TCP的网络通信协议设计毕业论文
目录
ABSTRACT .................................................................................................................. 错误!未定义书签。 第一章 绪 论 ............................................................................................................................................... 1
1.1 项目开发背景和意义 ..................................................................................................................... 1 1.2 开发和运行环境 ............................................................................................................................. 1 第二章 开发工具简介 ................................................................................................................................. 1
2.1 Visual C++6.0介绍 ...................................................................................................................... 1 2.2 MFC ................................................................................................................................................. 1 2.3 MSDN ............................................................................................................................................... 2 2.4 Visual Assist X ......................................................................................................................... 3 第三章 协议设计涉及知识简介 ................................................................................................................. 1
3.1 即时通讯 ......................................................................................................................................... 1 3.2 网络协议 ....................................................................................................................................... 2 3.3 OSI七层网络模型 .......................................................................................................................... 2 3. 4 TCP/IP协议 ................................................................................................................................ 3 3.5 TCP传输 ........................................................................................................................................ 4 3.6 C/S编程模型 ................................................................................................................................ 4 3.7 Socket套接字 ................................................................................................................................ 5 3.8 网络字节顺序 ................................................................................................................................. 6 3.9 Windows Sockets ........................................................................................................................... 6 3.10 同步、异步、阻塞和非阻塞 ..................................................................................................... 7 3.11 多线程 ........................................................................................................................................... 7 第四章 需求分析 ......................................................................................................................................... 10
4.1 整体需求分析 ............................................................................................................................. 10 4.2 可行性分析 ............................................................................................................................... 10 第五章 概要设计 ....................................................................................................................................... 11
5.1 性能要求 ....................................................................................................................................... 11 5.2 通讯协议格式设计 ..................................................................................................................... 11 5.3 软件工作模式图 ........................................................................................................................... 12 5.4 软件设计原理 ............................................................................................................................... 12 第六章 详细设计 ....................................................................................................................................... 15
6.1 协议设计 ....................................................................................................................................... 15 6.2 服务器端工程设计 ....................................................................................................................... 17 6.3 客户端工程设计 ........................................................................................................................... 22 6.4多线程设计(一台服务器与多个客户端通信) ........................................................................ 31 6.5 协议工作设计 ............................................................................................................................... 34 第七章 系统测试 ....................................................................................................................................... 42
7.1 测试目的 ....................................................................................................................................... 42 7.2 测试要求 ....................................................................................................................................... 42
I
7.3 测试方法 ....................................................................................................................................... 42 7.4 系统测试 ....................................................................................................................................... 43 总 结 ............................................................................................................................. 错误!未定义书签。 致 谢 ............................................................................................................................. 错误!未定义书签。 参考文献 ....................................................................................................................................................... 55
II
III
第一章 绪论
第一章 绪 论
1.1 项目简介
1.1.1 项目开发背景和意义
计算机网络技术的飞速发展,使得人类社会正全面迈向信息化。近几年来,信息网络更是以前所未有的速度不断发展壮大,广泛应用于人类的生产、生活、学习和娱乐等各个领域,极大地促进了人类社会的进步。即时通讯作为目前的主要应用之一,已经极大的融入到我们生活的各个领域。
即时通信是一个终端连往一个即时通信网路的服务。即时通信不同于e-mail在于它的交谈是实时的。大部分的即时通信服务提供了presence awareness的特性──显示联络人名单,联络人是否在在线与能否与联络人交谈。
即时通信(Instant Message),由于其具有实时性、跨平台性、成本低、效率高等优点而受到广泛的使用。即时通讯软件的迅速发展已经突破了作为技术工具的极限,被认为是现代交流方式的象征。在网络通讯时,必须选用正确的网络通讯协议,以保证不同连接方式和操作系统的计算机之间可以进行数据传输。如何让通讯双方更决捷有效安全地沟通,就成为大家关心的问题。一个良好的协议设计可以很好的解决这个问题。一个良好的协议设计可以很好的解决这个问题。
我们知道,并且大家也都在用,QQ,微信,飞信,MSN,YY等众多的即时通讯软件,已经成为了目前大家交流必不可少的工具,然而这些聊天工具虽然方便、实用,但是,由于其功能太多,如游戏,社区,电子邮件等功能,占据内存空间过大,从一定程度上来说,更多的已经演变成了一种娱乐工具,不能作为即时通讯的专用工具。签于此,一个简单友好的即时通讯的网络聊天工具的开发就显得必不可少了,而我们知道,网络通讯少不了相应的软件协议的支持,我们本次的设计目标就是设计一个专用于支持内容简单,占用内存小的计算机之间即时通讯的网络聊天协议。
本系统使用当前流行的MFC框架,c++语言编写,采用面向对象的思想设计,基于TCP传输控制协议。切实考虑大众用户的需求,为方便用户之间的沟通,为大家提供了一个简单的用以支持即时通讯的网络聊天协议。
本文首先对本次协议设计所用的开发平台以及开发工具做了简单介绍, 其次又对开发中所用到的知识点做了系列概括,接着是需求分析,在此基础上那个提出了对软件协议设计的设计方案,然后分析了协议的各类型字段,最后讲了该协议的具体实现。 网络协议一直以来作为信息网络的核心支柱之一。近年来,网络的新概念新方法、新技术以惊人的速度不断涌现,软硬件不断升级换代,新的产品和业务更是层出不穷出不穷,令人目不暇接,网络协议更是不断完善,以来更好的为信息化社会服务。不难发现,网络技术如同自然界的生物一样,是一个新旧更替,优胜劣汰的发展过程。陈旧落后的技术不论是网络协议还是其他,必然被新的,更加先进的技术所替代。作为网络工程系的学生,必须在打牢网络理论基础,不断更新学习各种网络新技术的同时,并且能够把学到的理论知识应用于实践中去,以便于深入理解网络体系结构和运行机制,切实掌握各种网络技术的基本原理、软、硬件设计方法和相关协议以及算法。而本次设计就是针对这一目标,结合本人在大学四年的理论学习和各种实践,对网络协议一次模拟设计,
1
第一章 绪论
及时对本人大学学习情况的考察,也是自己对自己在大学所学知识的一次系统整叠和梳
2