摘 要
本论文是关于一个通信软件的设计与实现. 首先介绍了该课题的来源和意义, 以及课题中作者使用的原理技术, 包括客户/服务器模式(C/S)结构原理, TCP/IP协议的体系结构等。然后详细分析了系统的整体设计,包括系统的功能介绍、实现思想, 系统的需求分析, 系统通信协议的设计,各个模块的体系结构,并采用UML技术,绘制整体程序结构图、流程图、类图、用例图等。
接下来是介绍了各个子模块的功能、实现思想及它们的流程图、类图、消息流框图等。最后是系统的分析及优缺点及系统的总结和展望。
终端通过实际的通信链路和服务器建立TCP连接。而服务器端是接受并验证客户端连接,动态管理在线用户名单。
关键字: C/S结构;TCP/IP协议;UML技术;网络编程
ABSTRACT
The paper is about the design and realization of correspondence /software. In the First this paper introduced topic origin and the topic significance, As well as the principle and the technology that the author adopts in the paper , Including customer/Server (C/S) structure principle, TCP/IP protocol system structure and so /on. Then author analyzes that the overall design, Including system function introduction, realization way, demand analysis, communication agreement design, system structure of each /module. And adopting the UML technology, the author draws the overall procedure structure drawing, the flow chart, class drawing, and message flow chart and so /on. Finally the paper introduced that the systematic analysis 、 the excellence and the disadvantage of the system ,the summary and the forecast of the /system.
The terminal establishes the TCP communications through the actual correspondence link with the /server. At the same time the server accepts and validates the connection of the client, dynamically manages the name list of the on-line /users.
Key words: the C/S Structure; the TCP/IP Protocol; the UML Technology;
Network Programming
目 录
第一章 绪 论 - 1 -
1.1 课题的来源及意义 - 1 -
1.2 项目开发的几个重要环节 - 1 -
1.3 作者的主要工作 - 2 -
第二章 Socket编程基础 - 3 -
2.1 TCP/IP协议 - 3 -
2.1.1 TCP/IP参考模型的层次结构 - 3 -
2.1.2 TCP/IP协议的通信方式 - 4 -
2.2 Socket简介 - 5 -
2.2.1 Socket历史 - 5 -
2.2.2 Socket的类型 - 6 -
2.2.3 客户机/服务器模式 - 7 -
2.2.4 阻塞和非阻塞 - 7 -
第三章 需求分析 - 9 -
3.1 软件开发方案 - 9 -
3.2 软件的信息传递过程 - 9 -
3.3 系统初始化(活动图表示) - 11 -
3.4 用户上下线动态管理 - 11 -
第四章 系统的概要设计 - 13 -
4.1 系统的实现思想 - 13 -
4.1.1 系统整体结构 - 13 -
4.2 通信协议和报文格式 - 13 -
4.3 结构、类型和宏 - 16 -
4.4 Chat的UI设计 - 17 -
第五章 系统的详细设计 - 18 -
5.1交互分析 - 18 -
5.2 Chat主要的类及其关系 - 18 -
5.2.1 CClientDlg 类 - 18 -
5.2.2 CClientSocket 类 - 19 -
5.2.3 CChatSocket 类 - 20 -
5.2.4 CClientApp类和CLoginDlg类 - 21 -
5.3 客户端上线(顺序图) - 22 -
5.4 Server的类 - 22 -
5.4.1 CServerApp类和CMainFrame类 - 22 -
5.4.2 CserverDoc类 - 22 -
5.4.3 CServerView类 - 23 -
5.4.4 CListenSocket类 - 24 -
5.4.5 CDataSocket类 - 24 -
5.4.6 CSeverlnfoDig类和CAboutDlg类 - 24 -
5.5 Chat的实现 - 25 -
5.5.1 Server - 25 -
第六章 小结 - 38 -
参考文献 - 39 -
致 谢 - 40 -