您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页网络聊天室(CS)模式

网络聊天室(CS)模式

来源:五一七教育网


Java课程设计报告

题 目 网络聊天室(C/S模式)

所在院系 软件学院

学生姓名 孙丕军 专 业 机械+软件

班 级 R机械085 学 号 0818030512

2009年 7 月 17日

大连交通大学JAVA课程设计报告

第一章 总体设计

1.1本系统的主要功能

本系统设计C/S模式的网络聊天室,即使用客户端的JAVA应用程序和服务器进行通信.

1.2系统包含的类及类之间的关系

本系统共包括12个java源文件。 如图1-1所示。

CHATCLIENT CONNECTCCLIENTRE ONF CEIVE USERCONF HELP

- 1 -

大连交通大学JAVA课程设计报告

CHATSERVER

图1-1 类之间依赖的关系

HELP NODE USERLINKLIST PORTCONF SERVERRECEIVE 2.2 java源文件及其功能

客户端: HELP.JAVA 该文件生成的类负责创建一个帮助对话框。当用户不知怎么使用时,可以从这获得帮助。用户可以用mouse点击菜单栏上的帮助(H)选项,也可以按下快捷键Ctrl+H 来显示帮助对话框。

USERCONF.JAVA 该文件生成的类负责用来设置用户昵称的。默认的为匆匆过客。可以通过点击工具栏上的用户设置,也可以点击菜单栏上的设置中的用户设置来弹出用户设置对话框。当提交时,按下保存时,若没有输入或输入的字符超过15字符时,均为无效输入。

- 2 -

大连交通大学JAVA课程设计报告

CONNECTCONF.JAVA 该类负责生成一个连接对话框。让用户输入服务器的IP地址和要连接的端口号。以便与服务器连接。连接IP时,由于我们的服务器和客户端均在同一台机器上,所以IP可以是127.0.0.1。端口号必须是在0—65535之间的一个数。上面两者均为正确时,才算是连接设置是正确的。否则会弹出一个错误对话框。

CLIENTRECEIVE.JAVA 该类为客户端的消息收发类,单独把它作为一个类,是因为这样可以为每一个用户启动一个线程。避免在一个主线程中引起堵塞。在run方法中包括了对服务器发来的消息的处理。

CHATCLIENT.JAVA(客户端主类) 该类为客户端的主类。与服务器进行通话时,需要启动这个文件。该类包括了一个复杂的GUI界面的设计。对菜单栏上的选项都设有快捷键。当所有工作都准备好了之后,点击登录。即可启动一个连接服务器的线程。与服务器进行会话。若有多个用户想要参与会话,可以启动多个CHATCLIENT。每一个用户将有一个自己的聊天界面。用户可以相互之间聊,也可以与某一个人进行私聊。若想换一个名字进行聊天,可以点击注销,然后重新设置用户名来聊天。 服务器端: HELP.JAVA 该类与客户端的HELP.JAVA类大致一样的。在显示的内容块有一点不同而已。

PORTCONF.JAVA 这个类是一个端口配置类,有服务器设置一个监听端口。让用户连接。但端口必须正确,也就是就端口应是在0—65535之间的一个数。且与用户连接时设置的端口必须一致。

NODE.JAVA 该类是用户链表的结点类,它把用户的名字,socket,

ObjectOutputStream,ObjectOutStream.封装在一起。为后面使用用户链表做准备。

有利于后面工作的简单。

USERLINKLIST.JAVA

本类并没有使用JDK自带包中的数据结构类,而是自己将

- 3 -

大连交通大学JAVA课程设计报告

其封装,构成单链表。其中包括有初始化表,添加结点,删除结点,返回结点数,还提供了按索引,用户名来查找。

SERVERLISTEN.JAVA

该类是用在服务器端的用户监听类,当有用户连接上了,它会更新必要信息。如向combobox,textArea等更新信息。且为用户启动单独的一个用户线程。

SERVERRECEIVE.JAVA

这个类是服务器端的一个收发消息的类,主要是处理用户发来的消息,这里有决定是向个人,还是所有人发送消息的方法。与客户端的CLIENTRECEIVE类似。

CHATSERVER.JAVA(服务器端的主类)

这是服务器端的主类。它的界面与客户的主类界面类似。主要包括有:端口设置,启动服务(均在工具栏)等。负责启动用户线程,在线程中和用户交流信息,如果用户提交了公共信息,就发给所有用户,否则就发给指定的用户。

- 4 -

大连交通大学JAVA课程设计报告

第二章 详细设计

2.1服务器端主类: CHATSERVER.JAVA

(1)成员变量见表2-1

表2-1 主要成员变量(属性) 成员变量描述 服务器端的侦听端口 服务器的socket 选择发送消息的接收者 服务端的信息显示 变量类型 int ServerSocket JComboBox JTextArea 名称 port serversocket combobox messageShow (2)方法见表2-2

表2-2 主要方法 功能描述 初始化程序 处理动作事件 方法名 init() CHATSERVER() actionPerformed(ActionEvent e) 备注 构造方法 (3)源代码见文件CHATSERVER.java

2.2客户端主类: CHATCLIETN.JAVA

(1)成员变量见表2-3

表2-3 主要成员变量 成员变量描述 连接到服务器的IP地址 连接到服务器的端口 用户名 变量类型 String int String 名称 Ip Port Username (2)方法见表2-4

表2-4 主要方法

- 5 -

大连交通大学JAVA课程设计报告

方法名 CHATCLIENT() actionPerformed(ActionEvent e) 功能 处理事件。 备注 构造方法 - 6 -

大连交通大学JAVA课程设计报告

第三章 运行效果

3.1 系统主界面

- 7 -

大连交通大学JAVA课程设计报告

图3-1 系统主窗口

- 8 -

大连交通大学JAVA课程设计报告

3.2 聊天室录入界面

- 9 -

大连交通大学JAVA课程设计报告

图3-2 聊天室录入界面

- 10 -

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务