局域网聊天室--java课程设计Word格式文档下载.docx
- 文档编号:13064792
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:98
- 大小:198.08KB
局域网聊天室--java课程设计Word格式文档下载.docx
《局域网聊天室--java课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《局域网聊天室--java课程设计Word格式文档下载.docx(98页珍藏版)》请在冰豆网上搜索。
①设计实现在特定端口上进行侦听,等待客户端的连接。
②用户确定服务器的侦听端口。
③系统能向已经连接到服务器端的用户发送系统消息。
④系统能统计在线人数。
⑤当系统停止服务时,设计程序应能断开所有的用户连接。
实现聊天室客户端的要求:
①系统能连接已经开启聊天服务的服务端。
②用户确定要连接服务器端的IP地址与端口号,连接后系统应能提供显示的用户
名。
③当服务器端开启的话,实现用户的登录与注销。
④用户可以通过设计的系统向所有人或者某一个人发送消息。
三、原始资料
1.《面向对象程序设计课程设计》指导书
2.耿祥义.JAVA大学实用教程.北京:
清华大学出版社,2009.
四、要求的设计(调查/论文)成果
1.课程设计报告
2.课程设计软件
五、进程安排
布置任务,查找资料、需求分析1天
总体设计1天
详细设计1.5天
编制源程序实现3.5天
测试与修改1天
撰写课设报告2天
六、主要参考资料
[1]张广彬.Java课程设计案例精编(第二版).北京:
清华大学出版社,2011.
[2]耿祥义.Java课程设计(第二版).北京:
清华大学出版社,2008.
[3]耿祥义.JAVA大学实用教程.北京:
[4]邹林达.陈国君Java2程序设计基础.北京:
清华大学出版社,2010.
[5]邹林达.Java2程序设计基础实验指导.北京:
清华大学,2010.
指导教师(签名):
20
年
月
日
目录
1需求与总体设计 1
1.1需求与系统功能图 1
1.2系统类图 2
1.2.1服务端系统 2
1.2.2客户端服务系统 3
2详细设计 4
2.1聊天室服务器端的设计 4
2.1.1ChatServer类 4
2.1.2ServerListen类 5
2.1.3ServerReceive类 5
2.1.4PortConf类 6
2.1.5Help类 6
2.1.6UserLinkList类 7
2.1.7Node类 7
2.2聊天室客户端设计 8
2.2.1ChatClient类 8
2.2.2ConnectConf类 9
2.2.3UserConf类 9
2.2.4Help类 10
2.2.5ClientReceive类 10
3编码实现 11
3.1服务器编码实现 11
3.1.1ChatServer类 11
3.1.2ServerListen类 21
3.1.3ServerReceive类 23
3.1.4PortConf类 27
3.1.5UserLinkList类 30
3.1.6Node类 31
3.1.7Help类 32
3.2客户端编码实现 34
3.2.1ChatClient类 34
3.2.2ClientReceive类 46
3.2.3ConnectConf类 48
3.2.4UserConf类 51
3.2.5Hlep类 54
4系统测试 56
总结 57
退
出
停止服务
系统消息
启动服务
端口设置
1需求与总体设计
1.1需求与系统功能图
服务端
本系统所要实现的主要功能是为广大用户提供一个借助网络进行人际交往的平台。
因为服务端采用多线程,所以性能有很大提升。
因为服务端和客户端之间采用TCP协议进行网络通信,建立的是可靠的、端到端的网络连接,所以可靠性和安全性都很好。
退 出
用户连接
连接设置
登 录
发送消息
注 销
客户端
1.2系统类图
1.2.1
服务端系统
1
93
1.2.2客户端服务系统
2详细设计
2.1聊天室服务器端的设计
2.1.1ChatServer类
ChatServer.java
包含名为ChatServer的public类,其主要功能为定义服务器端的界面,添加时间监听与时间处理。
调用ServerListen类来实现服务端用户上线与下线的监听,调用
ServerListen来实现服务器端的消息收发。
2.1.2ServerListen类
ServerListen.java
该类实现服务器用户上线与下线的监听。
该类对用户上线下线的监听是通过调用用户链表类(UserLinkList)来实现的。
当用户上线与下线情况发生变化时,该类会对主类的界面进行相应的修改。
2.1.3ServerReceive类
ServerReceive.java
该类是实现服务器消息收发的类,该类分别定义了向某用户及所有人发送消息的方法,发送的消息会显示在主界面类的街面上。
2.1.4PortConf类
PortConf.java
该类继承自Jdialog,是用户对服务器端监听端口进行修改配置的类。
2.1.5Help类
Help.java
服务端程序帮助类。
2.1.6UserLinkList类
UserLinkList.java
用户链表节点的具体实现类。
该类通过构造函数构造用户链表,定义了添加用户、删除用户、返回用户数、根据用户名查找用户、根据索引查找用户这5个方法。
2.1.7Node类
Node.java
用户链表的节点类,定义了链表中的用户。
该类与前面所讲的链表节点Node类的功能相当
2.2聊天室客户端设计
2.2.1ChatClient类
ChatClient.java
包含名为ChatClient的public类,其主要功能为定义客户端的界面,添加时间监听与事件处理。
该类定义了Connect()与DisConnect()方法实现与客户端的连接与断开连接。
当登陆到指定的服务器时,调用ClientReceive类实现消息收发,同时该类还定义了SendMessaga()方法来其他用户发送带有表情的消息或悄悄话。
2.2.2ConnectConf类
ConnectConf.java
该类继承自Jdialog,是用户对所有要连接的服务器IP及监听端口进行修改配置的类。
2.2.3UserConf类
UserConf.java
该类继承自Jdialog,是用户对链接到服务器时所显示的用户名进行修改配置的类。
2.2.4Help类
客户端程序的帮助类。
2.2.5ClientReceive类
ClientReceive.java
该类是实现服务器端与客户端消息收发的类。
3编码实现
3.1服务器编码实现
3.1.1ChatServer类
调用ServerListen类来实现服务端用户上线与下线的监听,调用ServerListen来实现服务器端的消息收发。
/*聊天服务端的主框架类*/
publicclassChatServerextendsJFrameimplementsActionListener{privatestaticfinallongserialVersionUID=1L;
publicstaticintport=8888;
//服务端的侦听端口
ServerSocketserverSocket;
//服务端SocketJComboBoxcombobox;
//选择发送消息的接受者JTextAreamessageShow;
//服务端的信息显示JScrollPanemessageScrollPane;
//信息显示的滚动条JTextFieldshowStatus;
//显示用户连接状态
JLabelsendToLabel,messageLabel;
JTextFieldsysMessage;
//服务端消息的发送
JButtonsysMessageButton;
//服务端消息的发送按钮UserLinkListuserLinkList;
//用户链表
//建立菜单栏
JMenuBarjMenuBar=newJMenuBar();
//建立菜单组
JMenuserviceMenu=newJMenu("
服务(V)"
);
//建立菜单项
JMenuItemportItem=newJMenuItem("
端口设置(P)"
JMenuItemstartItem=newJMenuItem("
启动服务(S)"
JMenuItemstopItem=newJMenuItem("
停止服务(T)"
JMenuItemexitItem=newJMenuItem("
退出(X)"
JMenuhelpMenu=newJMenu("
帮助(H)"
JMenuItemhelpItem=newJMenuItem("
//建立工具栏
JToolBartoolBar=newJToolBar();
//建立工具栏中的按钮组件JButtonportSet;
//启动服务端侦听
JButtonstartServer;
//启动服务端侦听JButtonstopServer;
//关闭服务端侦听JButtonexitButton;
//退出按钮
//框架的大小
DimensionfaceSize=newDimension(400,600);
ServerListenlistenThread;
JPaneldownPanel;
GridBagLayoutgirdBag;
GridBagConstraintsgirdBagCon;
/**服务端构造函数*/
publicChatServer(){
init();
//初始化程序
//添加框架的关闭事件处理this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
//设置框架的大小
this.setSize(faceSize);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 局域网 聊天室 java 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)