java基于网络聊天室的设计与实现

java基于网络聊天室的设计与实现

ID:43324840

大小:99.00 KB

页数:11页

时间:2019-09-29

java基于网络聊天室的设计与实现_第1页
java基于网络聊天室的设计与实现_第2页
java基于网络聊天室的设计与实现_第3页
java基于网络聊天室的设计与实现_第4页
java基于网络聊天室的设计与实现_第5页
资源描述:

《java基于网络聊天室的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、课程设计报告课程名称:面向对象程序设计课程设计任课教师:设计题目:网络聊天室所学专业:信息管理与信息系统(四年年制)班级学号:08学生姓名:报告完成口期:2016年06月23H一、题目描述及功能要求网络聊天室是一项实用性强,并且应用广泛的一个应用,虽然其功能简单,但是在其开发技术和过程中,能够充分学习和使用JAVA的技术,如:开发各界而(登入、注册、公聊、私聊等界而)使用Swing组件技术,实现网络的功能使用Socket/ScrvcrSocket技术,并且在开发过程当中,能充分的使用和体会面向对象技术的原理和方法。所以该项目可以使自己在JAVA技术方面得到全面应用,使自己项口开发能力的

2、一个很好体现。主要涉及图形用户界面的开发、布局和输入、输出流数据的控制,并且要通过Socket技术实现网络功能,整个程序采用Swing图形界而,耍求熟练掌握Java图形用户界面的事件处理及部分Swing组件的使用。在代码的编写上耍充分体现Java面向对象开发思想和多态性,提高代码的重用性和高效性,要深入理解接口的作用和内部对象等特性等。1.服务端主要功能:•服务端等待多客户连接(守护进程)。•服务端与客户端建立连接。•服务端与客户端交互信息。•服务端与客户端断开连接。•服务端更新客户列表。2•客户端主要功能:•客户端登录。•客户端与服务端建立连接。•客户端与服务端交互信息。•客户端与服

3、务端断开连接。•客户端更新客户列表。二、系统设计1.功能设计本项目具有以下主要功能客户端:用户登入功能,实现合法用户的登入。公聊功能,实现用户和在线的所冇用户聊天方式。私聊功能,实现用户和在线的其他用户一对一的聊天方式。聊天记录,实现用户查看已聊天的历史聊天内容用户退出,实现登陆成功用户随时退出。服务端:可以不断的监听客户端请求显示登入客户的信息发送系统消息1.界面设计客户端:界面分为用户输入用户名的登录界面,文木框的输入界面聊天记录界面2.技术原理(1)网络连接介绍方法1、服务器端创建ServerSocket,W环调用accept。等待客户端链接2、客户端创建一个Socket并请求和

4、服务器端链接3、服务器端接受客户端请求,创建socekt与该客户端建立专线链接4、建立链接的socket在一•个单独的线程上对话5、服务器继续等待新的链接(2)多线程介绍方法Java提供了线程类Thread来创建多线程的程序。其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或英子类的实例对彖。每个Thread对象描述了一个单独的线程。耍产生一个线程,有两种方法:需耍从Java.lang.Thread类派生一个新的线程类,重载它的run()方法;实现Runnalbe接口,重载Runnalbe接口中的run()方法。在Java'p,类仅支持单继承,也就是说,当定义

5、一个新的类的时候,它只能扩展一个外部类。这样,如果创建自定义线程类的时候是通过扩展Thread类的方法来实现的,那么这个自定义类就不能再去扩展其他的类,也就无法实现更加复杂的功能。因此,如杲门定义类必须扩展其他的类,那么就可以使用实现Runnable接口的方法来定义该类为线程类,这样就可以避免Java单-继承所带来的局限性。1.类说明XX类静态属性intPORT=8888配置服务器端的侦听接口,默认端口号为8888实例属性JTcxtArca文本域静态方法Main()主函数实例方法voidsend(String)向服务端发送信息。connect()实现与服务器连接getText得到文本内

6、容2.难点及其解决方法(1)如何使服务器端保留并区别与客户端的socket连接?当客户端连接到服务器时,可以在服务器记录下每个客户端的信息,然后再写个Client类,属性Socket,输入输出流,是否连接等。成员方法。再写一个List来装Client的对象。当要发送信息时,遍历-•遍容器就行了,调用发送方法就行了。ChatServer这个类室是服务器端程序运行的入口,定义了ServerSocket类获取可客户端的信息。服务器端的端口号8888,服务器端一肓等待客户端的请求一•肓监听,使用while(True)循环运彳亍。ChatServerFrame类定义了服务器的聊天室主界血,英中包

7、含一个主窗体、JPanel面板,按钮、输入框和文本显示框,publicChatServerFrame()是整个图形界面初始化。将各个按钮事件进彳亍监听,saveLog()方法实现对日志的保存,closeServer()^服务器进行关闭,tiRen()删除列表中的用户,使某各用户不能在进行聊天,只有再次登录成功才能进行聊天。Connection类小的w()方法服务器端处理为客户端的通讯。由于客户端承载着与客户端Z间和客户端Z间相互通Z间交流的垂要

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。