局域网聊天室 java课程设计

上传人:第*** 文档编号:78869906 上传时间:2019-02-15 格式:PDF 页数:63 大小:1.14MB
返回 下载 相关 举报
局域网聊天室  java课程设计_第1页
第1页 / 共63页
局域网聊天室  java课程设计_第2页
第2页 / 共63页
局域网聊天室  java课程设计_第3页
第3页 / 共63页
局域网聊天室  java课程设计_第4页
第4页 / 共63页
局域网聊天室  java课程设计_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《局域网聊天室 java课程设计》由会员分享,可在线阅读,更多相关《局域网聊天室 java课程设计(63页珍藏版)》请在金锄头文库上搜索。

1、 面向对象程序设计面向对象程序设计 课程设计报告课程设计报告 题目:局域网聊天室程序设计 院 (系) :信息科学与工程学院 专业班级:计算机科学与技术 1201 班 学生姓名:程伟 学号:20121183011 指导教师:吴奕 20 14 年 12月29日至 20 15 年1月9日 华中科技大学武昌分校制华中科技大学武昌分校制 面向对象程序设计面向对象程序设计 课程设计任务书课程设计任务书 一、设计(调查报告一、设计(调查报告/ /论文)题目论文)题目 局域网聊天室程序设计 二、设计(调查报告二、设计(调查报告/ /论文)主要内容论文)主要内容 内容: 用来提供局域网中用户之间的交互通讯,使用

2、 Eclipse 与 JDK1.6 工具,操作系统为 WINDOWS,采用面向对象方法完成,包括总体设计、详细设计、编码实现、测试。运 用套接字 Socket 连接技术, 实现客户端的套接字对象和服务器端的套接字对象之间的输 入输出流的连接,达到数据报通信的目的 基本功能与要求: 实现聊天室服务器端的要求: 设计实现在特定端口上进行侦听,等待客户端的连接。 用户确定服务器的侦听端口。 系统能向已经连接到服务器端的用户发送系统消息。 系统能统计在线人数。 当系统停止服务时,设计程序应能断开所有的用户连接。 实现聊天室客户端的要求: 系统能连接已经开启聊天服务的服务端。 用户确定要连接服务器端的

3、IP 地址与端口号,连接后系统应能提供显示的用户 名。 当服务器端开启的话,实现用户的登录与注销。 用户可以通过设计的系统向所有人或者某一个人发送消息。 三、原始资料三、原始资料 1.面向对象程序设计课程设计指导书 2. 耿祥义JAVA 大学实用教程北京:清华大学出版社,2009 四、要求的设计(调查四、要求的设计(调查/ /论文)成果论文)成果 1.课程设计报告 2.课程设计软件 五、进程安排五、进程安排 布置任务,查找资料、需求分析 1 天 总体设计 1 天 详细设计 1.5 天 编制源程序实现 3.5 天 测试与修改 1 天 撰写课设报告 2 天 六、主要参考资料六、主要参考资料 1 张

4、广彬. Java 课程设计案例精编(第二版).北京:清华大学出版社, 2011. 2 耿祥义. Java 课程设计(第二版).北京:清华大学出版社, 2008. 3 耿祥义JAVA 大学实用教程北京:清华大学出版社,2009 4 邹林达陈国君 Java2 程序设计基础北京:清华大学出版社,2010 5 邹林达Java2 程序设计基础实验指导北京:清华大学,2010 指导教师(签名指导教师(签名) : 2020年年月月日日 目录 1 需求与总体设计 1 1.1 需求与系统功能图 1 1.2 系统类图.2 1.2.1 服务端系统. 2 1.2.2 客户端服务系统 3 2 详细设计.4 2.1 聊天

5、室服务器端的设计.4 2.1.1 ChatServer 类 4 2.1.2 ServerListen 类 5 2.1.3 ServerReceive 类 5 2.1.4 PortConf 类 6 2.1.5 Help 类 6 2.1.6 UserLinkList 类 7 2.1.7 Node 类 7 2.2 聊天室客户端设计 8 2.2.1 ChatClient 类 8 2.2.2 ConnectConf 类 9 2.2.3 UserConf 类 9 2.2.4 Help 类 10 2.2.5 ClientReceive 类10 3 编码实现.11 3.1 服务器编码实现.11 3.1.1 C

6、hatServer 类.11 3.1.2 ServerListen 类.21 3.1.3 ServerReceive 类23 3.1.4 PortConf 类 27 3.1.5 UserLinkList 类 30 3.1.6 Node 类 31 3.1.7 Help 类 32 3.2 客户端编码实现. 34 3.2.1 ChatClient 类 34 3.2.2 ClientReceive 类.46 3.2.3 ConnectConf 类.48 3.2.4 UserConf 类. 51 3.2.5 Hlep 类. 54 4 系统测试.56 总结57 1 1 1 需求与总体设计需求与总体设计 1

7、.11.1 需求与系统功能图需求与系统功能图 本系统所要实现的主要功能是为广大用户提供一个借助网络进行人际交往的平台。 因为服务端采用多线程,所以性能有很大提升。因为服务端和客户端之间采用 TCP 协议 进行网络通信,建立的是可靠的、端到端的网络连接,所以可靠性和安全性都很好。 2 1.21.2 系统类图系统类图 1.2.11.2.1 服务端系统服务端系统 3 1.2.2 客户端服务系统客户端服务系统 4 2 2 详细设计详细设计 2.12.1 聊天室服务器端的设计聊天室服务器端的设计 2.1.12.1.1 ChatServerChatServer 类类 ChatServer.java 包含名

8、为 ChatServer 的 public 类,其主要功能为定义服务器端的界面,添加时间 监听与时间处理。调用 ServerListen 类来实现服务端用户上线与下线的监听,调用 ServerListen 来实现服务器端的消息收发。 5 2.1.22.1.2 ServerListenServerListen 类类 ServerListen.java 该类实现服务器用户上线与下线的监听。该类对用户上线下线的监听是通过调用用 户链表类(UserLinkList)来实现的。当用户上线与下线情况发生变化时,该类会对主 类的界面进行相应的修改。 2.1.32.1.3 ServerReceiveServe

9、rReceive 类类 ServerReceive.java 该类是实现服务器消息收发的类,该类分别定义了向某用户及所有人发送消息的 方法,发送的消息会显示在主界面类的街面上。 6 2.1.42.1.4 PortConfPortConf 类类 PortConf.java 该类继承自 Jdialog,是用户对服务器端监听端口进行修改配置的类。 2.1.52.1.5 HelpHelp 类类 Help.java 服务端程序帮助类。 7 2.1.62.1.6 UserLinkListUserLinkList 类类 UserLinkList.java 用户链表节点的具体实现类。该类通过构造函数构造用户链

10、表,定义了添加用户、 删除用户、返回用户数、根据用户名查找用户、根据索引查找用户这 5 个方法。 2.1.72.1.7 NodeNode 类类 Node.java 用户链表的节点类,定义了链表中的用户。该类与前面所讲的链表节点 Node 类的 功能相当 8 2.22.2 聊天室客户端设计聊天室客户端设计 2.2.12.2.1 ChatClientChatClient 类类 ChatClient.java 包含名为 ChatClient 的 public 类,其主要功能为定义客户端的界面,添加时间监 听与事件处理。该类定义了 Connect()与 DisConnect()方法实现与客户端的连接与

11、 断开连接。当登陆到指定的服务器时,调用 ClientReceive 类实现消息收发,同时该类 还定义了 SendMessaga()方法来其他用户发送带有表情的消息或悄悄话。 9 2.2.22.2.2 ConnectConfConnectConf 类类 ConnectConf.java 该类继承自 Jdialog, 是用户对所有要连接的服务器 IP 及监听端口进行修改配置的 类。 2.2.32.2.3 UserConfUserConf 类类 UserConf.java 该类继承自 Jdialog, 是用户对链接到服务器时所显示的用户名进行修改配置的类。 10 2.2.42.2.4 HelpHe

12、lp 类类 Help.java 客户端程序的帮助类。 2.2.52.2.5 ClientReceiveClientReceive 类类 ClientReceive.java 该类是实现服务器端与客户端消息收发的类。 11 3 3 编码实现编码实现 3.1 服务器编码实现 3.1.13.1.1 ChatServerChatServer 类类 ChatServer.java 包含名为 ChatServer 的 public 类,其主要功能为定义服务器端的界面,添加时间监听与时间处 理。调用 ServerListen 类来实现服务端用户上线与下线的监听,调用 ServerListen 来实现服务器端

13、的 消息收发。 / * 聊天服务端的主框架类*/ public class ChatServer extends JFrame implements ActionListener private static final long serialVersionUID = 1L; public static int port = 8888;/服务端的侦听端口 ServerSocket serverSocket;/服务端 Socket JComboBox combobox;/选择发送消息的接受者 JTextArea messageShow;/服务端的信息显示 JScrollPane messageS

14、crollPane;/信息显示的滚动条 JTextField showStatus;/显示用户连接状态 JLabel sendToLabel,messageLabel; JTextField sysMessage;/服务端消息的发送 JButton sysMessageButton;/服务端消息的发送按钮 UserLinkList userLinkList;/用户链表 /建立菜单栏 JMenuBar jMenuBar = new JMenuBar(); /建立菜单组 JMenu serviceMenu = new JMenu (“服务(V)“); /建立菜单项 JMenuItem portIt

15、em = new JMenuItem (“端口设置(P)“); JMenuItem startItem = new JMenuItem (“启动服务(S)“); JMenuItem stopItem=new JMenuItem (“停止服务(T)“); JMenuItem exitItem=new JMenuItem (“退出(X)“); JMenu helpMenu=new JMenu (“帮助(H)“); 12 JMenuItem helpItem=new JMenuItem (“帮助(H)“); /建立工具栏 JToolBar toolBar = new JToolBar(); /建立工

16、具栏中的按钮组件 JButton portSet;/启动服务端侦听 JButton startServer;/启动服务端侦听 JButton stopServer;/关闭服务端侦听 JButton exitButton;/退出按钮 /框架的大小 Dimension faceSize = new Dimension(400, 600); ServerListen listenThread; JPanel downPanel ; GridBagLayout girdBag; GridBagConstraints girdBagCon; /* 服务端构造函数*/ public ChatServer() init();/初始化程序 /添加框架的关闭事件处理 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.pack(); /设置框架的大小 this.setSize(faceSize); /设置运行时窗

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

当前位置:首页 > 高等教育 > 大学课件

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