摘要:随着计算机科学、信息技术、互联网的发展,人们越来越多的通过网络的方式进行交流、传递信息。其中较为流行的方式有e-mail,即时通讯等方式。他们各自有自己的优缺点,并在不同的场景下为我们所用,发挥着科技带来的便捷。即时通讯,顾名思义强调着在通讯时的即时性。两人通过它可以办到仿佛面对面对的交流,做到“天涯若比邻”,因此深受大家的喜爱。市场上有许多优秀的即时通讯软件,我们熟知的腾讯便是凭借着QQ、微信这样的优质的即时通讯软件获得了一大堆重视的客户。同时我意识到,在一些特殊的场合,如学校机房、公司等,常常会面领着没有互联网或者网络不通畅的问题。因此,本文将介绍在这样的场景下开发一款基于功能满足需求的即时通讯软件,通过对局域网聊天系统的设计和实现了解在线通讯软件的开发重点以及它的运作大概原理,了解软件工程的开发过程。
关键字:即时通讯;socket;多线程编程;点对点
目录
摘要
Abstract
1 绪论-1
1.1-开发背景及意义-1
1.2-国内外的研究现状-1
1.3-本论文的研究方法-2
1.4-设计主要工作及论文的主要内容-3
2-开发环境与使用技术-3
2.1-开发环境以及测试运行环境-3
2.2-java编程语言-3
2.1.1 多线程-4
2.1.2 SWING图形界面-4
2.1.3 文件的IO流-4
2.1.4 网络编程和socket-5
2.3-MySQL数据库-5
3-需求分析与概要设计-6
3.1-功能需求分析-6
3.2.1 服务器端功能需求分析-6
3.2.2 客户端功能需求分析-6
3.2-业务流程图-8
3.3-数据流图-9
3.4-可行性分析-10
3.3.1 技术可行性-10
3.3.2 经济可行性-10
4-设计及实现-10
4.1-功能结构图-10
4.2-数据库的设计-11
4.2.1-user表-11
4.2.2 team表-12
4.2.3 chat表-12
4.2.4 unsend_chat表-13
4.3-系统实现模型-13
4.4-消息类的设计-17
4.5-消息类与流互相转换-17
4.6-界面设计-18
4.7-系统实现模型-18
4.8-界面展示-18
5-软件测试-22
6-设计展望-23
6.1 希望加入的功能-23
6.1.1 视频、音频功能-23
6.1.2 P2P信息发送-23
6.1.3 服务器负载能力优化-23
6.1.4 RSA加密功能-24
6.1.5 绘文字(emoji)聊天-24
7-总结-24
参考文献-26
致谢-27