- --
计算机科学与技术系
课程设计报告
2013~2014学年第一学期
课
程
Java语言程序设计 多人聊天程序 10计本(2)班
***** *****
课程设计名称 专姓指
业班级 名
导教师
2013年10月11号
- . -word资料-
- --
一、需求分析
聊天工具大多数由客户端程序和服务器程序外加服务器端,本程序采用客户机/服务器架构模式。通过Java提供的Socket类来连接客户机和服务器并使客户机和服务器之间相互通信,由于聊天是多点对多点的而Java提供的多线程功能。用多线程可完成多点对多点的聊天。
主要有两个应用程序,分别为服务器程序和客户端程序。服务器应用程序主要用于消息转发,以及向所有用户发送系统消息等;客户端应用程序主要用于客户聊天记录的显示和信息输入。采用Client/Server(C/S)体系结构,即客户机/服务器体系结构。聊天服务器专门用于监控用户状态和转发消息,客户端负责接收消息的用户序列和消息文本发送到服务器。该聊天系统实现私聊,群聊,用户登陆,退出聊天系统等功能。
二. 设计
1.设计思想:
课程设计中利用JAVA实现基于C/S模式的聊天程序。聊天室共分为服务器端和客户端两部分,服务器端程序主要负责侦听客户发来的消息,客户端登录到服务器端才可以实现正常的聊天功能。
- . -word资料-
- --
- . -word资料-
- --
开始启动服务器否判断启动信息是启动客户端判断登录信息是否注册用户登录聊天室是退出聊天室退出服务器结束
2.功能设计
(1)服务器端的主要功能如下。
在特定端口上进行侦听,等待客户端连接。用户可以配置服务端的侦
听端口,默认端口为8888.
向已经连接到服务端的用户发送系统消息。 统计在线人数。
当停止服务时,断开所有用户连接。
- . -word资料-
- --
(2)客户端的主要功能如下。 连接到已经开启聊天服务的服务端。
用户可以配置到连接服务器的IP地址和端口号。 用户可以配置连接后显示的用户名。
当服务器端开启的话,用户可以随时登录与注销。 用户可以向所有人或者某一个人发送消息。
3.详细设计
聊天室服务器端设计
聊天室服务器主要包括7个文件,他们功能如下。 (1)ChatServer.java
包含名为ChatServer的public类,其主要功能为定义服务器端的界面,添加事件侦听与事件处理。调用ServerListen 类来实现服务端用户上线与下线侦听,调用ServerReceive类来实现服务器端的消息收发。
(2)ServerListen.java
该类实现服务端用户上线与下线的侦听。该类对用户上线下线的侦听通过调用用户链表来实现,当用户上线与下线情况发生的时候,该类会对主类的界面进行相应的修改。
(3)ServerReceive.java
该类是实现服务器消息收发的类,该类分别定义了向某用户及所有人发送消息的方法,发送消息会显示在主界面类的界面上。
(4)Portconf.java
- . -word资料-