简易聊天应用程序的设计与实现Word文档格式.docx

上传人:b****5 文档编号:21263095 上传时间:2023-01-29 格式:DOCX 页数:19 大小:25.94KB
下载 相关 举报
简易聊天应用程序的设计与实现Word文档格式.docx_第1页
第1页 / 共19页
简易聊天应用程序的设计与实现Word文档格式.docx_第2页
第2页 / 共19页
简易聊天应用程序的设计与实现Word文档格式.docx_第3页
第3页 / 共19页
简易聊天应用程序的设计与实现Word文档格式.docx_第4页
第4页 / 共19页
简易聊天应用程序的设计与实现Word文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

简易聊天应用程序的设计与实现Word文档格式.docx

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

简易聊天应用程序的设计与实现Word文档格式.docx

1.2 

人员分工 

二、作品概述..............................................................................................................................1

2.1 

创作背景 

2.2 

功能概要 

2.3 

相关技术 

.......................................................................................................................2

2.4 

作品可行性分析 

..........................................................................................................3

三、需求分析..............................................................................................................................3

3.1 

功能性需求 

..................................................................................................................3

3.2 

非功能性需求 

..............................................................................................................6

四、作品实现..............................................................................................................................6

4.1 

服务端界面实现 

...........................................................................................................6

4.2 

客户端界面实现 

...........................................................................................................8

4.3 

登录实现 

.......................................................................................................................9

4.4 

聊天功能实现 

............................................................................................................11

4.5 

退出功能实现 

............................................................................................................12

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

................................................................................................14

5.1 

难点分析 

....................................................................................................................14

5.2 

解决方案 

5.3 

测试结果 

....................................................................................................................15

计算机科学与技术专业大作业报告

一、团队介绍及人员分工

团队介绍

吴益帆:

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

张咪:

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

沈丹丹:

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

吴晓晓:

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

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

分工明确,各司其职,在共同的努

力及相互的配合下,共同解决程序中出现的困难并尽可能的优化程序,最终完成

整个项目。

人员分工

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

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

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

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

二、作品概述

创作背景

网络聊天室通常直称聊天室,是一种人们可以在线交谈的网络论坛,在同一

聊天室的人们通过广播消息进行实时交谈。

在当今信息时代,越来越多的聊天工具被应用,java 

语言是当今流行的网络

编程语言,它具有面向对象,与平台无关,安全,多线程等特点。

使用 

言不仅可以实现大型企业级的分布式应用系统,还能够为小型的的,嵌入式设备

进行应用程序的开发。

面向对象的开发是当今世界最流行的开发方法,它不仅具

有更贴近自然地语义,而且有利于软件的维护和继承,锻炼我们熟练地应用面向

对象的思想和设计方法解决实际问题的能力。

功能概要

它是图形界面,线程,流

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

其界面主要采用了 

java.awt 

包,java.swing 

包等。

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

(1) 

服务器端功能描述:

启动服务器端:

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

端口服务:

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

显示在线用户信息:

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

显示用户聊天信息:

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

服务端关闭:

点击“关闭’按钮,关闭服务。

(2) 

客户端功能描述:

启动客户端:

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

选择服务器端口号:

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

用户登录:

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

显示在线用户:

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

发送/接受聊天消息:

在下面的文本输入区域输入要发送的内容,点击发送可以在

左边的聊天信息区域内显示自己以及其他用户所发的信息;

用户离线:

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

客户端关闭:

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

相关技术

概述

JAVA 

语言有下面一些特点:

简单、面向对象、分布式、解释执行、鲁棒、

安全、体系结构中立、可移植、高性能、多线程以及动态性。

丰富的类库 

提供了大量的类以满足网络化、多线程、面向对象系统的

需要。

语言包提供的支持包括字符串处理、多线程处理、数学函数处理等,可以

用它简单地实现 

程序的运行平台。

实用程序包提供的支持包括哈希表、堆

栈、可变数组、时间和日期等。

输入输出包用统一的"

流"

模型来实现所有格式的

I/O,包括文件系统、网络、输入低级网络包用于实现 

Socket 

编程。

抽象图形用

户接口包实现了不同平台的计算机的图形用户接口部件,包括窗口、菜单、滚动

条、对话框等,使得 

可以移植到不同平台的机器。

网络包支持 

Internet 

TCP/IP 

协议,提供了与 

的接口。

它支持 

URL 

连接,WWW 

的即时访问,并且

简化了用户/服务器模型的程序设计。

套接字

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

也就是说

1

网络上两个或两个以上双工方式通信的进程之间总有一个连接,这个连接的端点

成为套接字,套接字是在比较低的层次上通信的。

具体的说:

一个服务器应用程序一般侦听一个特定的端口等待客户端的连接

请求,当一个连接请求到达时,客户端和服武器端建立一个通信连接,在连接过

程中,客户端被分配一个本地端口与一个 

建立连接,客户端通过写

来通知服务器,以读 

中的信息,类似的服务器也获得一个本地端

口,它需要一个新的端口号来侦听原始端口上的其他连接请求。

服务器也通过它

的本地端口连接一个 

Socket,通过读写和客户端通信。

程序的工作过程:

1.建立 

连接:

在通信开始之前由通信双方确认身份,建立一条专用

的虚拟连接道。

2.数据通信:

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

3.关闭:

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

作品可行性分析

由于本软件知识一个聊天程序,程序只提供用户之间的聊天功能,故对网络

传输数据要求不是很高,只要正常的传输速度就可以了。

三、需求分析

功能性需求

本聊天室分为聊天室服务端和聊天室客户端,服务端与客户端之间通过套接

字 

Socket(TCP)连接。

在 

中使用套接字相当简单,JavaAPI 

为处理套接口

的通信提供了一个类 

.Socket.,使得编写网络应用程序相对容易.服务

器采用多线程以满足多用户的请求,并通过创建一个 

ServerSocket 

对象来监听

来自客户的连接请求,默认 

IP 

地址为:

localhost 

默认端口为 

8888。

(1)聊天室服务端模块,包括端口服务、启动服务、关闭服务、显示在线用

户、显示用户聊天信息,如图 

所示;

2

图 

聊天室服务端模块图

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

8888;

启动服务:

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

登录并开始聊天;

关闭服务:

关闭服务器,侦听结束。

客户端用户不能再聊天;

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

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

息。

(2)聊天室客户端模块,包括用户登录、用户离线、连接设置、发送和接收

聊天信息、显示在线用户、退出,如图 

所示:

聊天室客户端模块图

3

只能在聊天室服务端已开启的情况下,用户点击“按钮”才能登

录,用户登录之后才能开始聊天,登录后不能再修改用户设置和连接设置;

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

连接设置:

用户可以设置自己连接的服务器的 

地址和端口号,默认的连

接地址为:

localhost:

发送和接收聊天信息:

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

给所有人的消息;

退出:

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

(3)程序流程:

首先启动服务器,用户打开客户端,输入服务器端口号,再

输入用户名就可以登录,登录以后会显示当前在线的用户信息,用户可以看到其

他用户所发的信息,自己也可以发送信息。

用户点击离线就会与服务器断开连接,

最后关闭服务器,如图 

3.3 

入入入入

入入入入入

入入入

入入

4

程序流程图

非功能性需求

安全需求

本程序能防卫禁止未登录用户进行通信,防止数据丢失,需要输入用户名、

端口号连接相应的服务器才允许用户间的通信。

性能需求

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

户端之间的通信。

(3) 

易用性需求

本程序的使用对象计算机水平一般,有一定的易用性上的要求,程序应当存

在着一些友好性的提示,提高程序的友好度。

(4) 

可维护性需求

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

能。

(5) 

健壮性需求

本程序在遭遇非法输入数据,能够排除该数据并继续运行;

对于系统异常有

完备的预警预防处理机制。

四、作品实现

服务端界面实现

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

6.1 

服务端图形用户界面

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

private 

Label 

svrIP 

new 

Label("

服务器IP:

"

);

TextField 

showSvrIP 

TextField();

svrPort 

服务器端口:

getSvrPort 

TextField("

8888"

Button 

enter 

Button("

启动"

5

TextArea 

output 

TextArea();

user 

当前在线用户(0)"

List 

list 

List();

void 

setup() 

{

Panel 

top 

Panel();

top.setLayout(new 

FlowLayout());

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);

east 

east.setLayout(new 

BorderLayout());

east.add("

North"

 

user);

user.setBackground(bg);

Center"

list);

list.setBackground(bg);

setLayout(new 

add("

top);

top.setBackground(bg);

East"

east);

east.setBackground(bg);

output);

output.setBackground(bg);

setBackground(bg);

}

点击“启动”按钮,开启默认的服务器8888端口,如图6.2所示:

6.2 

服务端端口开启

8888 

端口开启实现代码如下:

try 

server 

ServerSocket(Integer.parseInt(getSvrPort

.getText()));

rightNow 

Calendar.getInstance().getTime()

.toLocaleString();

output.append(rightNow 

\n开启服务器.\n\n"

enter.setLabel("

关闭"

ht 

Hashtable();

ht_s 

st 

ServerThread();

serving 

true;

6

catch 

(IOException 

ioe) 

output.append("

Error:

ioe 

\n\n"

客户端界面实现

在客户端启动后,显示“简易聊天室客户端”的图形用户界面,如图6.3所

示:

6.3 

客户端图形用户界面

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

B_login 

登陆"

B_logout 

离线"

B_send 

发送"

userName 

您的用户名:

getUserName 

// 

获取用户名

当前服务器IP:

getSvrIP 

获取服务器 

当前服务器端口:

获取服务器端口

input 

输入文本框

输出文本框

top1 

top1.setLayout(new 

top1.add("

West"

userName);

userName.setBackground(bg);

getUserName);

getUserName.setBackground(bg);

top2 

top2.setLayout(new 

top2.add("

svrIP);

7

getSvrIP);

getSvrIP.setBackground(bg);

top3 

top3.setLayout(new 

top3.add("

svrPort);

getSvrPort);

top4 

top4.setLayout(new 

top4.add("

top1);

top2);

top3);

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

当前位置:首页 > 表格模板 > 书信模板

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

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