JAVA聊天室参考实现

上传人:re****.1 文档编号:477400263 上传时间:2024-01-13 格式:DOC 页数:31 大小:267.50KB
返回 下载 相关 举报
JAVA聊天室参考实现_第1页
第1页 / 共31页
JAVA聊天室参考实现_第2页
第2页 / 共31页
JAVA聊天室参考实现_第3页
第3页 / 共31页
JAVA聊天室参考实现_第4页
第4页 / 共31页
JAVA聊天室参考实现_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《JAVA聊天室参考实现》由会员分享,可在线阅读,更多相关《JAVA聊天室参考实现(31页珍藏版)》请在金锄头文库上搜索。

1、基于JAVA的聊天室的设计与实现 计算机072 周蔓 0708140822第一章 基于JAVA的聊天室设计与实现一、 设计目的:信息技术的高速发展给人类生产,生活带来了广泛而深远的影响。“上网冲浪”“数码相机”“PDA”、“彩屏手机”、“蓝牙技术”等新产品,新概念层出不穷,不断冲击着人们的视听。这些高科技成果为人们带来便捷、快乐的同时,也促进了人机交互技术的发展。人机交互是关于设计、评价和实现供人们使用的交互式计算机系统,并围绕相关的主要现象进行研究的科学。它主要研究人与计算机之间的信息交换,涉及计算机科学,心理学,认知科学等诸多学科,是信息技术的一个重要组成部分,并将继续对信息技术的发展产生

2、巨大影响。聊天室是一项应用广泛,并且实用性强的一个非常典型的人机交互系统。在信息世界里,聊天工具的使用是非常频繁的,如MSN、QQ、校内通,之类的聊天工具许多人都正在使用。此次设计的聊天室系统虽然其功能简单,但是在开发技术和过程中,能够充分学习和使用JAVA的技术,进一步培养学生面向对象程序设计的思想,加深对面向对象程序设计四大特性的理解。第二章 功能介绍1.需求分析人们日常生活中越来越多地使用聊天室这项应用来为自己的工作和学习服务。一个操作简单,界面友好、运行稳定的聊天室对于小型局域网的用户可以起到很好的交流作用。所谓聊天室就是一个可以让许多用户同时互相通信的网上园地,个人用户可以通过聊天室

3、将自己融入整个主流社会中。根据目前使用聊天室的用户需求显示,用户对于聊天室主要有以下几点要求:(1). 与聊天室成员一起聊天,可以与聊天室成员私聊 (3). 可以改变聊天内容风格,用户注册(含头像)、登录(4). 服务器,服务器过滤非法内容。(5). 服务器发送通知,保存服务器日志,保存用户聊天信息。该简易聊天室是为许多喜爱聊天的用户开发设计的,和许多大型的网络聊天室相比该小聊天室功能比较简单,但能实现基本的聊天功能,点对多、点对点聊天和基本的用户功能,登录、查看在线用户等。2、软件功能描述(1)、用户设置:用户自定义自己的登录名,成功设置后,服务端能接收到新设置的用户名;(2)、登录功能:在

4、服务端开启的情况下,用户可以以自己自定义或者默认的登录名和登录地址端口登录到客户端,并能在服务器端显示登录状态;(3)、公聊:用户可以与“所有人”聊天,在线用户可正常接收并正确显示公聊消(4)、私聊:用在线用户和其他用户聊天。记录对于聊天室的其他用户是不可见的。(5)、聊天心情:用户在聊天的过程中可以选择相应的心情来表达自己的情感。(6)、系统消息:服务端运行,为每一个用户都能接收服务器端发送的信息提示信息。(7)、用户的状态.每一个客户端用户都可以实时看到目前其他在线用户的状态。(8)、用户剔除:用户可以被系统剔除,并重新登记登录名和地址。(9)、用户退出:用户可以在正常情况下退出聊天室。(

5、10)、服务端控制:服务端开启的情况下,用户才能登陆成功和聊天;用户设置的地址端口也必须与服务端的侦听端口一致,否则不能登录。第三章 主要模块描述及流程图1.模块描述本聊天室分为聊天室服务端和聊天室客户端,服务端与客户端之间通过套接口Socket(TCP)连接。在java中使用套接口相当简单,Java API为处理套接口的通信提供了一个类.Socket.,使得编写网络应用程序相对容易服务器采用多线程以满足多用户的请求,通过JDBC与后台数据库连接,并通过创建一个AppSocket对象来监听来自客户的连接请求,默认IP地址为:127.0.0.1默认端口为8888。(1) 聊天室服务端模块图: 聊

6、天室服务端端口服务启动服务停止服务消息显示退出服务器发送系统消息 聊天室服务端模块图 4-1-1端口服务:输入要侦听的端口,默认为8888。启动服务:启动服务器,并开始在设置的端口中侦听,客户端用户可以登录并聊天。停止服务:关闭服务器,侦听结束。客户端用户不能再聊天。发送系统消息:服务器端给所有人或者个别用户发送消息。消息显示:可以显示所有用户的聊天记录,和上线、下线信息。退出服务器:退出程序,并停止服务。(2) 聊天室客户端模块图聊天室客户端用户设置连接设置退出发送/接收聊天消息用户登录 聊天室客户端4-1-2用户设置:用户可以设置自己的用户名进行聊天。连接设置:用户可以设置自己的服务器的I

7、P,端口号,默认地址为:127.0.0.1:8888。用户登录:只能在聊天室服务端已开启的情况下,用户才能登录,用户登录之后才能开始聊天,登录后不能再修改用户设置和连接设置。用户注销:退出聊天,可以继续修改用户设置和连接设置。发送和接收聊天信息:用户可以给所有人或者个别用户发送信息,并能看到其他用户发送给自己或所有人的消息。退出:关闭所有聊天并退出客户端。2.流程图 聊天室服务器启动服务端口服务 设置侦听端口 默认端口:8888聊天登录用户设置聊天室客户端 设置用户名 默认连接地址或用户名连接设置退出 设置IP地址和端口 流程图4-1-33.主要类UML关系图:ActionListenerCh

8、atServer-port:public static in-serverSocket:ServerSocket-messageShow:JTextArea-userLinkList:UserLinkList-showStatus:JTextField+ ChatServer():public+init():public void +startService():public void+stopService():public void +sendStopToAll():public void+sendMsgToAll(String):public void+ sendSystemMessag

9、e():public voidJFrameThreadServerListen- server: ServerSocket- userLinkList :UserLinkList- isStop: public Boolean+ServerListen(ServerSocket,JComboBox,JTextArea,JTextField,UserLinkList)ServerReceive-textarea:JTextArea- userLinkList :UserLinkList- isStop: public Boolean+ServerListen(ServerSocket,JComb

10、oBox,JTextArea,JTextField,UserLinkList)聊天室服务器端设计:ServerListen- server: ServerSocket- userLinkList :UserLinkList- isStop: public Boolean+ServerListen(ServerSocket,JComboBox,JTextArea,JTextField,UserLinkList)1、聊天室服务器端设计:聊天室服务端主要包括4个文件,它们的功能如下:(1)AppServer .java 服务器端进行监听客户端进行服务器的启动,以及端客户进行处理用户退出。(2)Ser

11、verFrame 为服务器端管理界面,负责用户帐号信息保存和用户在线的状态和相关服务器端口的信息以及访问的方式。(3)serverChat.java 负责对用户信息的处理包括公聊和私聊的信息的发送以及将聊天信息的序列化对象填加到保存聊天信息的记事本中。(4)serverMessage.java该类是实现服务器端的消息的收发的类。该类分别定义了向某用户及所有人发送消息的方法,发送的消息会显示在主界面类的界面上。(5)Register.java处理用户注册, 用户登录,进行选择自己喜欢的头像和注册相应的信息Thread聊天室客户端设计:ActionListenerChatClient-port:p

12、ublic static in-serverSocket:ServerSocket-messageShow:JTextArea-userLinkList:UserLinkList-showStatus:JTextField+ ChatClient():public+init():public void +Connect():public void+DisConnect():public void +SendMessage():public voidJFrameClientReceive- socket: Socket-output:ObjectOutputStream-input:Object

13、InputStream +ClientReceive(Socket,ObjectOutputStream,ObjectInputStream,JComboBox,JTextArea,JTextField )聊天室客户端主要包括6个文件,其主要功能如下:(1).ChatClient.java 为客户端程序启动类,负责客户端的启动和退出。(2).Login.java 为客户端程序登录界面,负责用户帐号信息的验证与反馈。(3).Register.java 为客户端程序注册界面,负责用户帐号信息的注册验证与反馈。(4).ChatRoom.java 为客户端程序聊天室主界面,负责接收、发送聊天内容与服务

14、器端的Connection.java 亲密合作。(5).Windowclose 为ChatRoom.java的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。(6).Clock.java 为客户端程序的一个小程序,实现的一个石英钟功能。六.主要程序代码清单和界面展示:1. 服务器的启动画面以及相应的代码:public class AppServer extends Thread private ServerSocket serverSocket;private ServerFrame sFrame;private static Vector userOnline = new Vector(1, 1)private static Vector v = new Vector(1, 1);创建服务器 启动服务监听8888端口public AppServer() sFrame = new ServerFrame(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号