局域网聊天室--Java课程设计.doc

上传人:工**** 文档编号:562912688 上传时间:2023-06-17 格式:DOC 页数:64 大小:700.60KB
返回 下载 相关 举报
局域网聊天室--Java课程设计.doc_第1页
第1页 / 共64页
局域网聊天室--Java课程设计.doc_第2页
第2页 / 共64页
局域网聊天室--Java课程设计.doc_第3页
第3页 / 共64页
局域网聊天室--Java课程设计.doc_第4页
第4页 / 共64页
局域网聊天室--Java课程设计.doc_第5页
第5页 / 共64页
点击查看更多>>
资源描述

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

1、 面向对象程序设计课程设计报告题 目: 局域网聊天室程序设计 院 (系): 信息科学与工程学院 专业班级: 计算机科学与技术1201班 学生姓名: 程伟 学 号: 20121183011 指导教师: 吴奕 20 14 年 12 月 29 日至20 15 年 1 月 9 日华中科技大学武昌分校制 面向对象程序设计 课程设计任务书一、设计(调查报告/论文)题目 局域网聊天室程序设计二、设计(调查报告/论文)主要内容内容:用来提供局域网中用户之间的交互通讯,使用Eclipse与JDK1.6工具,操作系统为WINDOWS,采用面向对象方法完成,包括总体设计、详细设计、编码实现、测试。运用套接字Sock

2、et连接技术,实现客户端的套接字对象和服务器端的套接字对象之间的输入输出流的连接,达到数据报通信的目的 基本功能与要求:实现聊天室服务器端的要求:设计实现在特定端口上进行侦听,等待客户端的连接。用户确定服务器的侦听端口。系统能向已经连接到服务器端的用户发送系统消息。系统能统计在线人数。当系统停止服务时,设计程序应能断开所有的用户连接。实现聊天室客户端的要求:系统能连接已经开启聊天服务的服务端。用户确定要连接服务器端的IP地址与端口号,连接后系统应能提供显示的用户名。当服务器端开启的话,实现用户的登录与注销。用户可以通过设计的系统向所有人或者某一个人发送消息。三、原始资料1.面向对象程序设计课程

3、设计指导书2. 耿祥义JAVA大学实用教程北京:清华大学出版社,2009四、要求的设计(调查/论文)成果1.课程设计报告2.课程设计软件五、进程安排布置任务,查找资料、需求分析1天总体设计1天详细设计1.5天编制源程序实现3.5天测试与修改1天撰写课设报告2天六、主要参考资料1 张广彬. Java课程设计案例精编(第二版).北京:清华大学出版社, 2011. 2 耿祥义. Java课程设计(第二版).北京:清华大学出版社, 2008.3 耿祥义JAVA大学实用教程北京:清华大学出版社,20094 邹林达陈国君 Java2程序设计基础北京:清华大学出版社,20105 邹林达Java2程序设计基础

4、实验指导北京:清华大学,2010指导教师(签名): 20 年 月 日目录1需求与总体设计11.1需求与系统功能图11.2系统类图21.2.1 服务端系统21.2.2客户端服务系统32详细设计42.1聊天室服务器端的设计42.1.1 ChatServer类42.1.2 ServerListen类52.1.3 ServerReceive类52.1.4 PortConf类62.1.5 Help类62.1.6 UserLinkList类72.1.7 Node类72.2聊天室客户端设计82.2.1 ChatClient类82.2.2 ConnectConf类92.2.3 UserConf类92.2.4

5、Help类102.2.5 ClientReceive类103编码实现113.1服务器编码实现113.1.1 ChatServer类113.1.2 ServerListen 类213.1.3 ServerReceive类233.1.4 PortConf类273.1.5 UserLinkList类303.1.6 Node类313.1.7 Help类323.2 客户端编码实现343.2.1 ChatClient类343.2.2 ClientReceive 类463.2.3 ConnectConf 类483.2.4 UserConf 类513.2.5 Hlep 类544系统测试56总 结571需求与总

6、体设计1.1需求与系统功能图本系统所要实现的主要功能是为广大用户提供一个借助网络进行人际交往的平台。因为服务端采用多线程,所以性能有很大提升。因为服务端和客户端之间采用TCP协议进行网络通信,建立的是可靠的、端到端的网络连接,所以可靠性和安全性都很好。 1.2系统类图1.2.1 服务端系统1.2.2客户端服务系统2详细设计2.1聊天室服务器端的设计2.1.1 ChatServer类ChatServer.java包含名为ChatServer的public类,其主要功能为定义服务器端的界面,添加时间监听与时间处理。调用ServerListen类来实现服务端用户上线与下线的监听,调用ServerLi

7、sten来实现服务器端的消息收发。2.1.2 ServerListen类ServerListen.java 该类实现服务器用户上线与下线的监听。该类对用户上线下线的监听是通过调用用户链表类(UserLinkList)来实现的。当用户上线与下线情况发生变化时,该类会对主类的界面进行相应的修改。2.1.3 ServerReceive类ServerReceive.java该类是实现服务器消息收发的类,该类分别定义了向某用户及所有人发送消息的方法,发送的消息会显示在主界面类的街面上。2.1.4 PortConf类PortConf.java 该类继承自Jdialog,是用户对服务器端监听端口进行修改配置

8、的类。2.1.5 Help类Help.java服务端程序帮助类。2.1.6 UserLinkList类UserLinkList.java用户链表节点的具体实现类。该类通过构造函数构造用户链表,定义了添加用户、删除用户、返回用户数、根据用户名查找用户、根据索引查找用户这5个方法。2.1.7 Node类Node.java用户链表的节点类,定义了链表中的用户。该类与前面所讲的链表节点Node类的功能相当2.2聊天室客户端设计2.2.1 ChatClient类ChatClient.java包含名为ChatClient的public类,其主要功能为定义客户端的界面,添加时间监听与事件处理。该类定义了Co

9、nnect()与DisConnect()方法实现与客户端的连接与断开连接。当登陆到指定的服务器时,调用ClientReceive类实现消息收发,同时该类还定义了SendMessaga()方法来其他用户发送带有表情的消息或悄悄话。2.2.2 ConnectConf类ConnectConf.java该类继承自Jdialog,是用户对所有要连接的服务器IP及监听端口进行修改配置的类。2.2.3 UserConf类UserConf.java该类继承自Jdialog,是用户对链接到服务器时所显示的用户名进行修改配置的类。2.2.4 Help类Help.java客户端程序的帮助类。2.2.5 Client

10、Receive类ClientReceive.java该类是实现服务器端与客户端消息收发的类。3编码实现3.1服务器编码实现3.1.1 ChatServer类ChatServer.java包含名为ChatServer的public类,其主要功能为定义服务器端的界面,添加时间监听与时间处理。调用ServerListen类来实现服务端用户上线与下线的监听,调用ServerListen来实现服务器端的消息收发。/ * 聊天服务端的主框架类*/public class ChatServer extends JFrame implements ActionListenerprivate static fi

11、nal long serialVersionUID = 1L;public static int port = 8888;/服务端的侦听端口ServerSocket serverSocket;/服务端SocketJComboBox combobox;/选择发送消息的接受者JTextArea messageShow;/服务端的信息显示JScrollPane messageScrollPane;/信息显示的滚动条JTextField showStatus;/显示用户连接状态JLabel sendToLabel,messageLabel;JTextField sysMessage;/服务端消息的发送

12、JButton sysMessageButton;/服务端消息的发送按钮UserLinkList userLinkList;/用户链表/建立菜单栏JMenuBar jMenuBar = new JMenuBar(); /建立菜单组JMenu serviceMenu = new JMenu (服务(V); /建立菜单项JMenuItem portItem = new JMenuItem (端口设置(P);JMenuItem startItem = new JMenuItem (启动服务(S);JMenuItem stopItem=new JMenuItem (停止服务(T);JMenuItem

13、exitItem=new JMenuItem (退出(X);JMenu helpMenu=new JMenu (帮助(H);JMenuItem helpItem=new JMenuItem (帮助(H);/建立工具栏JToolBar toolBar = new JToolBar();/建立工具栏中的按钮组件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);/设置运行时窗口的位置Dimension screenSize = Toolkit

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

当前位置:首页 > 大杂烩/其它

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