简易聊天应用程序的设计与实现知识分享Word文档下载推荐.docx

上传人:b****1 文档编号:14251001 上传时间:2022-10-20 格式:DOCX 页数:15 大小:73.28KB
下载 相关 举报
简易聊天应用程序的设计与实现知识分享Word文档下载推荐.docx_第1页
第1页 / 共15页
简易聊天应用程序的设计与实现知识分享Word文档下载推荐.docx_第2页
第2页 / 共15页
简易聊天应用程序的设计与实现知识分享Word文档下载推荐.docx_第3页
第3页 / 共15页
简易聊天应用程序的设计与实现知识分享Word文档下载推荐.docx_第4页
第4页 / 共15页
简易聊天应用程序的设计与实现知识分享Word文档下载推荐.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

简易聊天应用程序的设计与实现知识分享Word文档下载推荐.docx

《简易聊天应用程序的设计与实现知识分享Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《简易聊天应用程序的设计与实现知识分享Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。

简易聊天应用程序的设计与实现知识分享Word文档下载推荐.docx

计算机科学与技术

指导教师

研究方向

软件设计

职称

团队联系方式

联系人姓名

联系电话

邮件地址

邮编

一、团队介绍及人员分工0

1.1团队介绍0

1.2人员分工0

二、作品概述0

2.1创作背景0

2.2功能概要0

2.3相关技术1

2.4作品可行性分析2

三、需求分析2

3.1功能性需求2

3.2非功能性需求5

四、作品实现6

4.1服务端界面实现6

4.2客户端界面实现8

4.3登录实现9

4.4聊天功能实现11

4.5退出功能实现13

五、作品设计、实现难点分析14

5.1难点分析14

5.2解决方案15

5.3测试结果15

、团队介绍及人员分工

1.1团队介绍吴益帆:

有良好的统筹能力和领导力,能合理安排各组员工作。

张咪:

踏实耐心,有良好的创新能力和策划能力。

沈丹丹:

勤奋刻苦、有钻研精神,对待编程工作热情细心,孜孜不倦。

吴晓晓:

对待工作细致专注,设计能力较强。

团队成员之间有较好的默契度及协作性。

分工明确,各司其职,在共同的努力及相互的配合下,共同解决程序中出现的困难并尽可能的优化程序,最终完成整个项目。

1.2人员分工吴益帆:

负责程序最后的整理,完成部分功能及错误的处理。

负责程序的编码部分及项目具体功能的实现。

负责程序的界面部分,为改程序搜索解决的方案。

负责程序的策划部分,项目的可行性分析及文档的编写工作。

二、作品概述

2.1创作背景网络聊天室通常直称聊天室,是一种人们可以在线交谈的网络论坛,在同一聊天室的人们通过广播消息进行实时交谈。

在当今信息时代,越来越多的聊天工具被应用,java语言是当今流行的网络编程语言,它具有面向对象,与平台无关,安全,多线程等特点。

使用java语言不仅可以实现大型企业级的分布式应用系统,还能够为小型的的,嵌入式设备进行应用程序的开发。

面向对象的开发是当今世界最流行的开发方法,它不仅具有更贴近自然地语义,而且有利于软件的维护和继承,锻炼我们熟练地应用面向对象的思想和设计方法解决实际问题的能力。

2.2功能概要

运用java程序编写聊天室,实现简单的聊天功能。

它是图形界面,线程,流

与文件系统等技术的综合应用。

其界面主要采用了java.awt包,java.swing包等。

程序实现了聊天室的基本功能,其中有:

(1)服务器端功能描述:

启动服务器端:

点击“开启”按钮,启动服务;

端口服务:

输入服务器的某个端口号,开启服务器的这个端口;

显示在线用户信息:

在右边的用户列表显示所有在线的用户信息;

显示用户聊天信息:

在左边的聊天信息区域内显示所有用户所发的信息;

服务端关闭:

点击“关闭'

按钮,关闭服务。

(2)客户端功能描述:

启动客户端:

运行客户端程序,启动客户端;

选择服务器端口号:

输入想要连接的服务器的端口号;

用户登录:

填入用户名,点击“登录”按钮,连接相应服务器;

显示在线用户:

在右边的用户列表中可以看到当前在线的用户;

发送/接受聊天消息:

在下面的文本输入区域输入要发送的内容,点击发送可以在左边的聊天信息区域内显示自己以及其他用户所发的信息;

用户离线:

点击“离线”按钮,与服务器断开连接;

客户端关闭:

关闭客户端图形用户界面,关闭客户端。

2.3相关技术

(1)Java概述

JAVA语言有下面一些特点:

简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能、多线程以及动态性。

丰富的类库JAVA提供了大量的类以满足网络化、多线程、面向对象系统的需要。

语言包提供的支持包括字符串处理、多线程处理、数学函数处理等,可以用它简单地实现JAVA程序的运行平台。

实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。

输入输出包用统一的"

流"

模型来实现所有格式的I/O,包括文件系统、网络、输入低级网络包用于实现Socket编程。

抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件,包括窗口、菜单、滚动条、对话框等,使得JAVA可以移植到不同平台的机器。

网络包支持Internet的TCP/IP

协议,提供了与Internet的接口。

它支持URL连接,WWW的即时访问,并且简化了用户/服务器模型的程序设计。

(2)套接字

Socket,简称套接字,用于实现网络上客户和服务器之间的连接。

也就是说网络上两个或两个以上双工方式通信的进程之间总有一个连接,这个连接的端点成为套接字,套接字是在比较低的层次上通信的。

具体的说:

一个服务器应用程序一般侦听一个特定的端口等待客户端的连接请求,当一个连接请求到达时,客户端和服武器端建立一个通信连接,在连接过程中,客户端被分配一个本地端口与一个Socket建立连接,客户端通过写Socket来通知服务器,以读Socket中的信息,类似的服务器也获得一个本地端口,它需要一个新的端口号来侦听原始端口上的其他连接请求。

服务器也通过它的本地端口连接一个Socket,通过读写和客户端通信。

Socket程序的工作过程:

1.建立Socket连接:

在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接道。

2.数据通信:

利用虚拟连接通道传送数据信息进行通信。

3.关闭:

通信结束时,再将所建的虚拟连接拆除。

2.4作品可行性分析由于本软件知识一个聊天程序,程序只提供用户之间的聊天功能,故对网络传输数据要求不是很高,只要正常的传输速度就可以了。

三、需求分析

3.1功能性需求本聊天室分为聊天室服务端和聊天室客户端,服务端与客户端之间通过套接字Socket(TCP)连接。

在java中使用套接字相当简单,JavaAPI为处理套接口的通信提供了一个类.Socket.,使得编写网络应用程序相对容易.服务器采用多线程以满足多用户的请求,并通过创建一个ServerSocket对象来监听来自客户的连接请求,默认IP地址为:

localhost默认端口为8888。

(1)聊天室服务端模块,包括端口服务、启动服务、关闭服务、显示在线用户、显示用户聊天信息,如图3.1所示;

图3.1聊天室服务端模块图

端口服务:

输入要侦听的端口,默认为8888;

启动服务:

启动服务器,并开始在设置的端口中侦听,客户端用户可以登录并开始聊天;

关闭服务:

关闭服务器,侦听结束。

客户端用户不能再聊天;

服务器列表显示在线用户数和所有在线用户名称;

在文本区中显示所有用户聊天信息和登录、退出信息

(2)聊天室客户端模块,包括用户登录、用户离线、连接设置、发送和接收聊天信息、显示在线用户、退出,如图3.2所示:

图3.2聊天室客户端模块图

用户登录:

只能在聊天室服务端已开启的情况下,用户点击“按钮”才能登录,用户登录之后才能开始聊天,登录后不能再修改用户设置和连接设置;

用户离线:

用户点击“离线”按钮,退出聊天,与服务器断开连接;

连接设置:

用户可以设置自己连接的服务器的IP地址和端口号,默认的连接地址为:

localhost:

8888;

发送和接收聊天信息:

用户可以给所有人发送信息,并能看到其他用户发送给所有人的消息;

显示在线用户:

退出:

关闭所有聊天并退出客户端。

(3)程序流程:

首先启动服务器,用户打开客户端,输入服务器端口号,再输入用户名就可以登录,登录以后会显示当前在线的用户信息,用户可以看到其他用户所发的信息,自己也可以发送信息。

用户点击离线就会与服务器断开连接,最后关闭服务器,如图3.3所示:

 

启动服务

用户登录

输入服务器

端口号

图3.3程序流程图

3.2非功能性需求

(1)安全需求

本程序能防卫禁止未登录用户进行通信,防止数据丢失,需要输入用户名、端口号连接相应的服务器才允许用户间的通信。

(2)性能需求

本程序使用的对象是所有运行该程序的用户,用户在连接服务器可以进行客户端之间的通信。

(3)易用性需求

本程序的使用对象计算机水平一般,有一定的易用性上的要求,程序应当存在着一些友好性的提示,提高程序的友好度。

(4)可维护性需求

本程序能够及时发现并纠正系统故障,对系统数据进行备份,有系统还原功

(5)健壮性需求本程序在遭遇非法输入数据,能够排除该数据并继续运行;

对于系统异常有完备的预警预防处理机制。

四、作品实现

4.1

6.1所

服务端界面实现在服务端启动后,要显示“简易聊天室服务器”的图形用户界面,如图示:

图6.1服务端图形用户界面

“简易聊天室服务器”的图形用户界面实现的主要代码如下:

privateLabelsvrIP=newLabel("

服务器IP:

"

);

privateTextFieldshowSvrIP=newTextField();

privateLabelsvrPort=newLabel("

服务器端口:

privateTextFieldgetSvrPort=newTextField("

8888"

privateButtonenter=newButton("

启动"

privateTextAreaoutput=newTextArea();

privateLabeluser=newLabel("

当前在线用户(0)"

privateListlist=newList();

privatevoidsetup(){

Paneltop=newPanel();

top.setLayout(newFlowLayout());

top.add(svrIP);

svrIP.setBackground(bg);

top.add(showSvrIP);

showSvrIP.setBackground(bg);

top.add(svrPort);

svrPort.setBackground(bg);

top.add(getSvrPort);

getSvrPort.setBackground(bg);

top.add(enter);

enter.setBackground(bg);

Paneleast=newPanel();

east.setLayout(newBorderLayout());

east.add("

North"

user);

user.setBackground(bg);

C

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1