CS架构的即时聊天系统的设计与实现
cs聊天软件课程设计

cs聊天软件课程设计一、课程目标知识目标:1. 学生能理解聊天软件的基本原理和功能,掌握CS架构的网络通信技术。
2. 学生能了解并描述聊天软件中的数据传输方式,如TCP/IP协议。
3. 学生掌握基本的编程知识,能利用编程语言实现简单的聊天软件功能。
技能目标:1. 学生能运用所学知识,设计并实现一个简单的聊天软件界面。
2. 学生能通过编程实现聊天软件的发送、接收消息功能,并掌握异步处理技术。
3. 学生具备问题解决能力,能针对聊天软件在实际应用中遇到的问题进行分析和调试。
情感态度价值观目标:1. 培养学生对网络通信技术的兴趣,激发他们探索网络编程领域的热情。
2. 培养学生的团队协作精神,使他们能在项目实践中互相帮助,共同解决问题。
3. 培养学生具有良好的网络素养,明白网络通信中的安全与道德规范,树立正确的网络安全观念。
课程性质:本课程为实践性较强的课程,结合课本知识,让学生在动手实践中掌握聊天软件的开发技能。
学生特点:学生具备一定的编程基础,对网络通信技术有一定了解,但对实际应用开发相对陌生。
教学要求:注重理论与实践相结合,以学生为主体,鼓励他们积极参与实践,培养解决问题的能力。
同时,关注学生的情感态度价值观培养,提升他们的综合素质。
通过本课程的学习,使学生能够达到上述课程目标,并具备进一步探索网络编程领域的能力。
二、教学内容1. 聊天软件概述:介绍聊天软件的发展历程、分类及其在生活中的应用。
- 相关章节:教材第3章“网络应用软件”2. 网络通信基础:讲解CS架构、TCP/IP协议、端口号等基础知识。
- 相关章节:教材第2章“网络通信基础”3. 聊天软件功能模块设计:分析聊天软件的主要功能模块,如用户注册、登录、添加好友、发送接收消息等。
- 相关章节:教材第4章“软件工程”4. 编程语言选择与开发环境配置:选择合适的编程语言(如Python、Java 等),介绍开发环境的配置方法。
- 相关章节:教材第1章“编程语言概述”及第6章“开发环境配置”5. 实现简单的聊天软件功能:根据功能模块设计,指导学生利用编程语言实现以下功能:- 用户注册与登录- 添加好友与创建群聊- 发送、接收消息(文字、图片等)- 消息推送与实时通信- 相关章节:教材第5章“网络编程”6. 项目实践:安排学生分组进行项目实践,完成一个具有基本功能的聊天软件。
基于CS结构的聊天室系统方案

基于C\S结构的聊天室系统摘要计算机网络的迅速发展,对人类社会诸多领域产生了巨大的影响。
尤其是,随着信息时代的来临,人们之间愈来愈趋向于通过网络来交流和传递信息。
而聊天系统正是当前人们使用最多的中介。
在这个平台上,许多认识或不认识的人们彼此间能够随意的相互交交流。
因此,开发和架构这种平台符合时代发展的需要。
论文首先对目前国国际方面的状况进行初步的介绍,接下来详细的介绍了本设计用到的主要技术及相关容,以下按照软件工程的思想对系统进行调研,技术可行性分析,需求分析及总体设计与功能模块划分。
接着是详细设计按照不同的模块有侧重的分析,诸如客户端与服务器的通讯,客户端与客户端的通讯,涉及到本设计主要的流程,用流程图加以说明,并有文字说明。
本设计主要采用了黑盒测试与其他设计相结合的方法。
主要测试系统是否能完成基本的功能,当输入错误的信息时,提示信息是否合理;发送信息、接收信息是否按预想的设计进行;界面的合理、整洁性。
黑盒测试是从用户的角度出发的一种比较好的测试方法。
本设计分为四章,第一、二章是绪论与文献综述,介绍了本课题的来源背景、研究和解决的问题以及对社会发展的作用。
第三、四章提出了解决问题的方案以及提出具体的方法实现该系统的功能,这两章是最重要的部分。
第五章是本设计的结果与评价,对此系统在整体上进行测试,并做出客观的评价。
最后是致和参考文献,对此设计有帮助的人表示感以及自己所参考的重要文献。
关键词聊天系统;TCP/IP协议;JSPAbstractThe rapid development of the computer networks has been making a great influence in many fields of human society. In particular, along with information age approaching, people tend to increasingly communicate and transmit information through the network. But the chat system is precisely used by people as an intermediary. On this platform, people can chat each other at random whether they know or not. Therefore, this kind of platform developed and constructed conforms to demanding of the time.First the papers introduce the current domestic and international situation. Next, the main technology and the connected content are introduced in detail. Following is the investigation and study according to the software engineering thought to the system, the demand analysis and the system design and the function module. Next is the design which is according to the different module the analysis, such as client and server communications, client and the client communications. In this part also has the design of the main flow, and flow charts to illustrate and text description .The main design mainly uses the Black-box design and the combination of different methods.The fifth chapter is this design result and the appraisal, regarding this systematically carries on the test in the whole, and makes the objective appraisal,studying and solving problem and the function of the social development. Finally is the acknowledgment and the reference, regarding this designs has the help person to express thanks as well as own refer important literature.Keywords C/S; chating system; TCP / IP protocol; JSP目录摘要 (I)Abstract (II)第1章绪论 (1)1.1课题研究背景 (1)1.2基本技术支持 (1)1.2.1 ASP简介 (1)1.2.2 HTML简介 (3)第2章需求分析 (5)2.1功能需求 (5)2.2 性能需求 (5)2.3可行性分析 (6)2.3.1技术可行性 (6)2.3.2操作可行性 (7)2.3.3经济与技术可行性 (7)第3章总体设计 (8)3.1软件运行环境设计 (8)3.2功能介绍 (8)3.2.1功能结构设计 (8)3.2.2系统模块设计 (9)3.3 数据库设计 (10)第4章详细设计 (11)4.1用户登录模块的设计 (11)4.2新用户注册模块的设计 (13)4.3密码修改模块的设计 (14)4.4聊天者发言模块设计 (15)4.4.1用户聊天时的具体设计 (16)4.4.3显示发言信息模块设计 (18)4.4.3显示在线用户模块设计 (19)4.4.4用户离开聊天室的设计 (19)4.5数据库结构设计 (20)第5章测试与性能分析 (22)总结 (25)致 (26)参考文献 (27)附录A (28)附录B (35)第1章绪论1.1课题研究背景随着Internet的普及和宽带技术的成熟,越来越多的用户进入到网络世界中享用浏览新闻、查询信息、发送、在线观看电影等服务,享受网络带来的便利和办公的高效。
CS架构的即时聊天系统的设计与实现

C/S架构的即时聊天系统的设计与实现摘要:随着信息时代的飞速发展,尤其是互联网技术的兴起,使人们愈来愈倾向于通过网络来交流、传递消息。
网络即时聊天系统正是这样一个被广泛应用的媒介。
借助它,人们可以方便地进行实时对话,文件传送等。
本文以一个“即时通讯系统”的设计和开发为背景,详细介绍了以Java语言和MySql数据库为平台开发软件系统的过程。
系统的实现是基于TCP/IP通信协议,使用的是客户端/服务器模式,用到了Java里面的Swing、多线程、JDBC、Socket等高级编程技术。
通过直接使用Java提供的ServerSocket和ObjectInputStream等类将客户端和服务器端发送的各类消息封装成统一的数据流以实现消息的交换。
本系统的开发过程遵循了基本的软件工程学的方法,实现了即时通讯、群组聊天、文件传送等功能。
关键词:Java;数据库;Socket编程;即时通讯系统;TCP/IP协议The Instant Messaging System based on C/SStructureAbstract: With the rapid development of the information age, especially the rise of internet technology, more and more people tend to communicate and deliver the messages through the internet.Instant messaging system is such a widely used medium. With it,the real-time dialogue and file transfer can be easily carried out. Taking the design and development of the instant messaging system as the background , this article describes in detail the process of developing software systems with Java and MySql. The realization of the system is based on the TCP / IP communication protocol, and uses a client / server mode .Many advanced java technologies such as Swing ,java multi-threading, JDBC, socket programming and so on are used. By directly using the ServerSocket ,ObjectInputStream and other classes supported in Java API, messages sented by the client and server side are packaged into a uified data stream in order to achieve the exchange of messages. The whole development process of this system follows software engineering methods,and instant messaging, group chatting, file transferring and other functions are realized.Keywords: Java; database; Socket programming; instant messaging system; TCP/IP protocol目录第一章引言 (1)1.1选题背景和意义 (1)1.2本文的主要工作 (2)第二章基于C/S架构的即时通讯系统概述 (3)2.1系统的可行性分析 (3)2.2系统的实现目标和基本功能 (4)2.3系统开发环境和关键技术介绍 (4)第三章基于C/S架构的即时通讯系统设计 (9)3.1系统详细设计 (9)3.1.1 系统总体流程图 (9)3.1.2 系统总体功能模块划分 (10)3.1.3 系统用例图 (11)3.1.4 系统数据流图 (13)3.2 数据库设计 (14)3.3 系统关键类结构设计 (19)第四章基于C/S架构的即时通讯系功能实现 (24)4.1注册模块功能实现 (24)4.2登录模块功能实现 (26)4.3聊天模块功能实现 (28)4.4文件传送模块功能实现 (32)4.5后台管理模块功能实现 (36)第五章总结 (40)致谢 (43)参考文献 (44)第一章引言1.1选题背景和意义随着经济全球化的发展,世界各地的不同人、组织、机构之间的联系越来越密切。
基于CS结构的即时通信系统的设计与实现毕业设计

基于CS结构的即时通信系统的设计与实现毕业设计目录1 绪论 (1)1.1 即时通倍系统概述和选题背景 (1)1.2 选题的目的和研究意义 (2)1.3 本论文的研究方法 (3)1.4 本论文的内容 (3)2 主要技术介绍 (5)2.1 开发环境介绍 (5)2.1.1 Java语言的产生与发展简介 (5)2.1.2 Java语言的主要特点 (5)2.1.3 Java web和struts2技术 (6)2.1.4 MyEcIipse (7)2.2 Swing 编程 (7)2.3 多线程编程 (7)2.4 MySQL数据库简介 (8)2.5 即时通讯系统原理 (8)2.5.1 套接字通信 (9)2.5.2 数据报通信 (9)2.6 系统的主要架构 (9)2.7 TCP/IP 协议 (10)3 即时通信系统分析 (12)3.1 系统基本功能描述 (12)3.2 可行性分析 (12)3.3 系统需求分析 (12)4 即时通信系统设计 (15)4.1 数据库设计 (15)4.2 系统模块设计 (15)4.2.1 聊天系统工作原理图 (15)4.2.2 系统功能模块图: (16)4.2.3 系统用例图 (17)4.2.4 活动图 (18)4.3 系统类设计 (19)4.3.1 Message类的设计: (19)4.3.2 截图类的设计: (21)4.3.3 聊天记录类的设计: (21)4.3.4 服务端线程的设计: (22)5 即时通信系统实现 (23)5.1 实现概况 (23)5.2 注册模块 (23)5.2.1 流程图 (23)5.2.2 关键代码 (24)5.3 登录模块 (25)5.3.1 流程图 (25)5.3.2 关键代码 (26)5.4 聊天模块 (30)5.4.1 流程图 (30)5.4.2 关键代码 (31)5.5 文件模块 (35)5.5.1 流程图 (35)5.5.2 关键代码 (36)5.6 用户管理模块 (41)5.6.1 流程图 (41)5.6.2 关键代码 (42)5.7 其他功能的实现 (45)5.7.1 截图功能的实现 (45)5.7.2聊天记录功能的实现 (46)5.7.3 服务端线程的实现 (48)5.8 用户界面的设计 (48)5.8.1 登陆界面 (48)5.8.2 好友列表 (49)5.8.3聊天界面 (50)结论 (51)致谢 (52)参考文献 (53)附录A 英文原文 (55)附录B 汉语翻译 (62)1 绪论1.1 即时通倍系统概述和选题背景即时通信(Instant Messaging,缩写为IM),是以万维网为基础,实现通信双方语言、文件、语音等实时信息传送的通信过程[1]。
基于C语言的即时通讯应用设计与实现

基于C语言的即时通讯应用设计与实现一、引言随着互联网的快速发展,即时通讯已经成为人们日常生活中不可或缺的一部分。
无论是个人之间的聊天,还是企业内部的沟通,即时通讯都扮演着重要的角色。
本文将介绍基于C语言的即时通讯应用设计与实现,通过深入探讨其原理和实现方法,帮助读者更好地理解即时通讯系统的工作机制。
二、基本概念在开始设计和实现基于C语言的即时通讯应用之前,我们首先需要了解一些基本概念。
即时通讯是指用户之间可以实时地进行文字、语音、视频等多种形式的交流。
其核心在于消息的传输和实时性,因此在设计应用时需要考虑消息的发送、接收和处理机制。
三、系统架构设计基于C语言的即时通讯应用通常采用客户端-服务器模式,客户端负责与用户交互并发送消息,服务器负责消息的转发和存储。
在系统架构设计上,需要考虑到客户端与服务器之间的通信协议、数据传输格式以及安全性等方面。
四、功能模块设计用户管理模块:包括用户注册、登录、好友管理等功能。
消息处理模块:负责消息的发送、接收和展示。
文件传输模块:支持用户之间的文件传输功能。
群聊模块:实现多人同时在线的群聊功能。
安全认证模块:保障用户信息和通讯内容的安全性。
五、技术选型在选择技术方案时,我们需要考虑到C语言在网络编程方面相对较为复杂,因此可以借助第三方库来简化开发流程。
常用的网络编程库包括Socket、libevent等,可以帮助我们更高效地实现即时通讯应用。
六、系统实现客户端实现:客户端主要负责用户界面展示和消息发送接收等功能。
通过Socket连接服务器,实现与服务器之间的通信。
服务器实现:服务器端负责接收客户端消息并进行转发处理。
同时需要考虑到并发连接、数据存储等问题。
七、安全性考虑在即时通讯应用中,安全性是至关重要的一环。
我们可以通过加密算法对用户信息和通讯内容进行加密保护,防止信息泄露和篡改。
同时,还可以采取身份认证机制来确保用户身份的合法性。
八、性能优化为了提升系统性能和用户体验,我们可以从以下几个方面进行优化: 1. 减少网络延迟:采用合适的网络传输协议和数据压缩算法。
QT网络编程Tcp下CS架构的即时通信实例

QT⽹络编程Tcp下CS架构的即时通信实例先写⼀个客户端,实现简单的,能加⼊聊天,以及加⼊服务器的界⾯。
#ifndef TCPCLIENT_H#define TCPCLIENT_H#include <QDialog>#include <QListWidget>#include <QLineEdit>#include <QPushButton>#include <QLabel>#include <QGridLayout>#include <QtNetWork/QHostAddress>#include <QtNetWork/QTcpSocket>class TcpClient : public QDialog{Q_OBJECTpublic:TcpClient(QWidget *parent = 0,Qt::WindowFlags f=0);~TcpClient();private:QListWidget *contentListWidget;QLineEdit *sendLineEdit;QPushButton *sendBtn;QLabel *userNameLabel;QLineEdit *userNameLineEdit;QLabel *serverIPLabel;QLineEdit *serverIPLineEdit;QLabel *portLabel;QLineEdit *portLineEdit;QPushButton *enterBtn;QGridLayout *mainLayout;bool status;int port;QHostAddress *serverIP;QString userName;QTcpSocket *tcpSocket;public slots:void slotEnter();void slotConnected();void slotDisconnected();void dataReceived();void slotSend();};#endif // TCPCLIENT_H有⼀个加⼊服务器的按钮,还有⼀个发送消息的按钮,在头⽂件,先定义两个函数。
基于CS结构的即时通信系统的设计与实现毕业设计论文

基于CS结构的即时通信系统的设计与实现毕业设计论文沈阳理工大学毕业设计(论文)成绩评定学生姓名:专业:通信工程学号:题目:基于C/S结构的即时通信系统的设计与实现毕业设计(论文)答辩委员会(小组)评语:答辩评分:答辩委员会主任(组长)(签字):年月日毕业设计(论文)成绩指导教师评分( %)审阅评分( %)答辩评分( %)毕业设计(论文)成绩:(分)毕业设计(论文)总评成绩(等级):答辩委员会主任(签字):年月日毕业设计(论文)评语指导教师评语:指导教师评分:指导教师(签字):年月日评阅人评语:评阅人评分:评阅人(签字):年月日毕业设计(论文)任务书学院信息科学与工程学院专业通信工程学生姓名学号设计(论文)题目基于C/S结构的即时通信系统的设计与实现内容及要求:1. 基于C/S结构即时通信系统发展现状及技术背景;2. 基于C/S结构即时通信系统的设计;3. 编程实现基于C/S结构即时通信系统;4. 基于C/S结构即时通信系统测试分析;5. 依据研究的内容撰写毕业设计论文。
进度安排:第1~3周:搜集课题相关资料,熟悉开发工具,撰写开题报告;第4~6周:基于C/S结构即时通信系统架构及功能设计;第7~9周:基于C/S结构即时通信系统详细设计;第10~12周:编程实现基于C/S结构即时通信系统;第13周:程序调试;第14~16周:撰写、修改、装订论文,准备答辩。
指导教师(签字):年月日学院院长(签字):年月日学生毕业设计档案学生姓名学院信息科学与工程学院学号指导教师姓名职称副教授所在单位沈阳理工大学毕业设计题目基于C/S结构的即时通信系统的设计与实现毕业设计(论文)完成情况毕业设计各阶段名称起止日期完成情况(存在问题及整改意见)阶段成绩*1.搜集课题相关资料,熟悉开发工具,撰写开题报告;2.基于C/S结构即时通信系统架构及功能设计;3.基于C/S结构即时通信系统详细设计;4.编程实现基于C/S结构即时通信系统;5.程序调试;撰写、修改、装订论文,准备答辩。
基于C/S软件体系结构的局域网聊天室系统的设计

基于C/S软件体系结构的局域网聊天室系统的设计摘要在网络普及与上网人数剧增的今天,信息交流已成为现代人的潮流,但是由于手机话费的昂贵、发送手机短信的烦琐,以及它们之间由于不及时性而造成了相应的损失;网络通信软件由于安装方便、操作简单,更重要的是它给广大的用户提供了一个免费交流的平台,这个平台具有广域性、及时性、高效性,因此受到了许多公司、企业院校的青睐,特别是广大青年人的追捧;本论文介绍的就是一个基于TCP/IP协议、C/S模式、利用多线程、实现了一个多人聊天室。
关键词java;C/S架构;多线程;TCP/IP协议;套接字(Socket);聊天室前言随着信息时代的飞速发展,信息的交流量也与日俱增。
尽管一些通信工具能够实现信息交流,但如果在大量交流量的情况下,显然这些通信方式不够实惠与便捷[1]。
正是由于网络通信的安装方便、操作简单与及时性,只需要彼此之间都有连上网的电脑,安装有相应的客户端,就可以进行信息交流;并且也无须过多的通信费用;甚至可以帮助聋哑人与其他人之间的自然与通畅的交流。
网络通信特别受公司、企业院校的青睐,尤其是广大青年人的追捧;因此聊天室具有庞大的市场需求。
1 相关技术1.1 Java技术Java是Sun公司于1995年推出的一种面向对象的程序设计语言。
Java分为三个体系J2SE(Java平台标准版)、J2EE(Java平台企业版)和J2ME(Java平台微型版)。
Java具有跨平台性、面向对象性、分布性和安全性等特点。
1.2 TCP/IP协议TCP/IP是Transport Control Protocol的简写,中文译名为传输控制协议,所有使用或实现某种Internet服务的程序都必须遵从一个或多个网络协议。
TCP/IP 协议是Internet最基本的协议之一、Internet国际互联网络的基础。
IP是网络最底层的协议,它定义了数据按照数据报传输的格式与规则。
TCP是建立在IP之上的,它定義了网络上程序到程序的数据传输的格式与规则,提供了IP数据包的传输确认、丢失数据包的重新请求、将收到的数据包按照它们的发送次序重新装配的机制[1]。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C/S架构的即时聊天系统的设计与实现摘要:随着信息时代的飞速发展,尤其是互联网技术的兴起,使人们愈来愈倾向于通过网络来交流、传递消息。
网络即时聊天系统正是这样一个被广泛应用的媒介。
借助它,人们可以方便地进行实时对话,文件传送等。
本文以一个“即时通讯系统”的设计和开发为背景,详细介绍了以Java语言和MySql数据库为平台开发软件系统的过程。
系统的实现是基于TCP/IP通信协议,使用的是客户端/服务器模式,用到了Java里面的Swing、多线程、JDBC、Socket等高级编程技术。
通过直接使用Java提供的ServerSocket和ObjectInputStream等类将客户端和服务器端发送的各类消息封装成统一的数据流以实现消息的交换。
本系统的开发过程遵循了基本的软件工程学的方法,实现了即时通讯、群组聊天、文件传送等功能。
关键词:Java;数据库;Socket编程;即时通讯系统;TCP/IP协议The Instant Messaging System based on C/SStructureAbstract: With the rapid development of the information age, especially the rise of internet technology, more and more people tend to communicate and deliver the messages through the internet.Instant messaging system is such a widely used medium. With it,the real-time dialogue and file transfer can be easily carried out. Taking the design and development of the instant messaging system as the background , this article describes in detail the process of developing software systems with Java and MySql. The realization of the system is based on the TCP / IP communication protocol, and uses a client / server mode .Many advanced java technologies such as Swing ,java multi-threading, JDBC, socket programming and so on are used. By directly using the ServerSocket ,ObjectInputStream and other classes supported in Java API, messages sented by the client and server side are packaged into a uified data stream in order to achieve the exchange of messages. The whole development process of this system follows software engineering methods,and instant messaging, group chatting, file transferring and other functions are realized.Keywords: Java; database; Socket programming; instant messaging system; TCP/IP protocol目录第一章引言 (1)1.1选题背景和意义 (1)1.2本文的主要工作 (2)第二章基于C/S架构的即时通讯系统概述 (3)2.1系统的可行性分析 (3)2.2系统的实现目标和基本功能 (4)2.3系统开发环境和关键技术介绍 (4)第三章基于C/S架构的即时通讯系统设计 (8)3.1系统详细设计 (8)3.1.1 系统总体流程图 (8)3.1.2 系统总体功能模块划分 (9)3.1.3 系统用例图 (10)3.1.4 系统数据流图 (12)3.2 数据库设计 (14)3.3 系统关键类结构设计 (19)第四章基于C/S架构的即时通讯系功能实现 (24)4.1注册模块功能实现 (24)4.2登录模块功能实现 (26)4.3聊天模块功能实现 (29)4.4文件传送模块功能实现 (31)4.5后台管理模块功能实现 (35)第五章总结 (39)致谢 (42)参考文献 (43)第一章引言1.1选题背景和意义随着经济全球化的发展,世界各地的不同人、组织、机构之间的联系越来越密切。
同时伴随着互联网技术的普及和发展,网络即时通信工具已经作为一种廉价、方便的信息交流工具越来越受到人们的青睐。
在21世纪初的短短十几年间,即时通信系统(IM)的发展不断地取得了惊人的成就。
从早期只能互相发送字符并显示在双方的屏幕上的实时通信程序到现在的图形化、面向互联网、多功能的即时通信系统,科学技术的进步和整合不断地促使着即时通信系统功能越来越丰富,用处越来越广泛。
从最早的即时通讯软件ICQ诞生至今,市场上不断涌现出类似的产品。
不少厂商分别推出了自己的IM,如腾讯QQ、阿里旺旺、新浪UC、移动飞信等,这些都是我们所熟悉的PC端的即时通讯软件。
随着智能手机、平板电脑的普及,一些移动端的即时通信系统也如雨后春笋般涌现出来,如小米公司的米聊,腾讯公司的微信,还有年轻人之间很流行的陌陌、游戏玩家常用的YY语音等。
这些软件本身功能也越来越丰富,远远超出了单纯的即时聊天系统的范畴。
现在的即时通信系统不仅仅是人们的沟通工具,还成为了人们利用其进行电子商务、工作、学习等交流的平台[15][16]。
在当今社会,不管是个人用户还是企业用户,对沟通的需求总是在不断地发展。
传统的沟通交流方式如电话、传真、邮件等已经不能完全满足人们学习、工作、生活的需要。
随着计算机软件、计算机网络和移动通信技术的发展融合,集方便、廉价、快捷、实时等优点于一身的即时通讯系统可以说是继电子邮件、万维网之后,互联网上最具有杀伤力的应用。
很难想象一台个人电脑没有安装像QQ 这样的即时通讯软件。
虽然即时聊天系统设计的初衷是聊天,但正如前面所说,其功能已经超出了聊天的范畴,随着企业即时通讯工具(EIM)的出现,IM系统更是成了企业信息发布、资源共享、问题探讨和网络营销的一把利器。
通过现有的技术,企业完全可以摒弃通用的免费的即时通讯系统,转而根据自己企业的需求定制开发自己专属的内部即时通讯系统,以实现更好的管理,提高员工的工作效率。
我们的生活中沟通无处不在,即时聊天系统这类广泛使用的基础软件的研究开发意义深远[15]。
1.2本文的主要工作本文围绕一个简单实用的即时聊天系统的开发,详细介绍了使用Java编程语言、Java API和MySQL数据库构建一个软件系统的过程。
整个系统的分析、设计、开发、测试等过程遵循了软件工程学的方法。
论文分为如下几个部分:第一部分,阐述了对即时聊天系统的分析。
包括系统的可行性分析、系统实现的目标和基本功能分析以及使用的一些关键技术分析。
第二部分,阐述了整个系统的设计过程。
包括系统总体设计、功能模块划分、数据库设计和关键类的设计。
第三部分,详细介绍了整个系统的实现。
针对每一个功能的具体实现展开介绍,包括使用到的开发技术、类库,第三方jar包等等。
第四部分,总结与展望。
针对系统的优点和不足对系统进行了总结与展望。
第二章基于C/S架构的即时通讯系统概述2.1系统的可行性分析进行可行性研究就是在行动以前,对要办的事进行调查,确认其可行与不可行,即:可行则行,不可行则止。
可行性研究的目的不是解决问题,而是研究在当前的具体条件下,开发新系统是否具备必要的资源和其它条件。
为了达到这个目的,必须认真了解用户的要求及现实环境,探索若干种可供选择的解绝方案,并对每种解决方案的可行性进行仔细论证。
一般来说应从以下几个方面进行论证[12]:〃技术可行性:使用现有的技术能是否实现这个系统〃经济可行性:这个系统的经济效益是否超过它的开发成本〃操作可行性:系统的操作方式在这个用户组织内是否行得通在对本系统的分析中,同样是从上面三个方面入手。
本系统的可行性分析包括以下几个方面的内容:(1)技术可行性:基于网络通信原理,利用Java提供的Swing、Socket等API和多线程编程、JDBC等技术可以开发出简单实用美观的即时聊天系统,因此技术上是可行的。
(2)经济可行性:个人电脑和网络的普及使得我们不需要太多的经济投入。
在软件方面,可以采用免费的IDE如Eclipse和轻量级数据库MySQL。
无需太多的经济投入即可为局域网内的即时通讯系统的实现提供支持。
(3)操作可行性:一方面可以让本地机同时作为客户端和服务器实现一台机器上的即时通讯。
另一方面,只要一台以上计算机连接在同一个局域网内,并且在作为客户端机器的本系统中设臵需要连接的作为服务器端机器的IP地址,本系统就可以实现局域网通讯,所以操作上完全不存在问题。
如果要实现internet上通讯,理论上只需要将服务器端运行在一个有固定IP的公网上就可以。
综上所述,这种C/S架构的即时通讯系统的开发是可行的。
2.2系统的实现目标和基本功能对于个人用户而言,能够实现好友即时通讯,传递实时信息,让用户随时随地都可与好友保持畅快有效的沟通。
对于企业用户而言,能够实现建立员工交流平台,统一信息发布平台,减少运营成本,促进企业办公效率。
商业即时通讯系统的功能越来越多样化,一些功能也很新颖,如现在流行的语音对讲功能。
本系统不比商业系统,没有考虑过多的复杂性,主要实现了基本的通讯功能,以满足学习研究之用。
其基本功能有用户注册、客户端登录、一对一实时聊天、群组聊天、传送文件、服务器后台管理。
2.3系统开发环境和关键技术介绍(1)Java语言简介Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。