面向对象程序设计课程设计报告---网络聊天工具

面向对象程序设计课程设计报告---网络聊天工具

ID:6267455

大小:267.50 KB

页数:12页

时间:2018-01-08

面向对象程序设计课程设计报告---网络聊天工具_第1页
面向对象程序设计课程设计报告---网络聊天工具_第2页
面向对象程序设计课程设计报告---网络聊天工具_第3页
面向对象程序设计课程设计报告---网络聊天工具_第4页
面向对象程序设计课程设计报告---网络聊天工具_第5页
资源描述:

《面向对象程序设计课程设计报告---网络聊天工具》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、课程设计报告课程名称:面向对象程序设计课程设计任课教师:设计题目:网络聊天工具所学专业:信息管理与信息系统班级学号:学生姓名:报告完成日期:2012年01月10日11目录目录1一、项目目标2二、功能描述31.服务器端功能32.客户端功能3三、设计思路4(一)总体设计41.服务器端设计42.客户端设计4(二)代码思路51.定义服务端类CServer继承Frame类52.定义CClient类继承Frame类5四、具体设计7总结101111一、项目目标实现基于C/S模式的聊天室程序。聊天室共分为服务器端和客户端两部分。11二、功能描述1.服务器端功能(1)提供多线程的聊天服务处理。(

2、2)在服务器端屏幕上提示客户端进入,显示客户端聊天内容。(3)当某客户端输入字符“quit”时断开该客户端的连接。2.客户端功能(1)可以配置要连接服务器的IP地址和端口号。(2)配置用户昵称后连接。(3)可以向所有人发送消息。(4)显示本聊天室中的该用户登录后的所有消息。(5)显示在该用户登录之后登录的用户登录信息。提供聊天服务处理提示客户端进入断开客户端连接显示客户端聊天内容服务器端管理图服务器端管理用例图11三、设计思路(一)总体设计1.服务器端设计定义一个服务端类,实现服务器端功能。(1)定义内部类,此内部类采用多线程,实现多客户端接入。(2)当初始化界面时,启动服务器

3、。(3)当某客户端输入字符“quit”时断开该客户端的连接,关闭服务器窗口时关闭与客户端的连接。(4)服务器接收客户端信息,并把这些信息发送到连接服务器的客户端。2.客户端设计定义一个客户端类,实现客户端功能。(1)定义三个内部类,以实现连接按钮的监听、信息接收、对自己信息的监听。(2)定义输入服务器的IP地址、端口号的控件和用户昵称,在连接时把这些信息传给服务器。(3)发送消息时,通过对系统的监听显示自己发送的消息,其他用户发送的信息通过服务器转发。编译源程序运行监听启动服务器客户端接入显示消息发送信息退出系统图C/S聊天室的活动图11(二)代码思路1.定义服务端类CServ

4、er继承Frame类(1)定义两个构造方法,一个构造方法实现客户端不传参数时服务器窗口标题为空,另外一个构造方法实现客户端传参数时服务器窗口标题为此参数值。都要执行窗口的初始化操作。(2)init()方法即窗口初始化方法,实现服务端界面,在界面中定义一个文本区域,设定窗口关闭时系统退出,并启动服务器。(3)boradCast(Stringstr,Socketsocket)方法,即向所有在服务器中的客户端广播方法,有两个参数,一个传递只显示的字符串,另一个传递套接字。该方法要判断发送信息的用户是否是自己。(4)startServer()方法,启动服务方法。等待客户端的请求,接收到

5、请求后,产生socket对象,交给多线程的聊天服务处理。(5)定义内部类Service类,实现Runnable接口。有两个属性套接字socket和用户名name。①定义两个构造方法,一个没有参数实现为空,另一个以套接字socket作参数,并获取用户名。②run()方法,没有参数。当用户发送“quit”时,关闭客户连接。用户发送其他信息时广播信息。(6)定义主方法,实例化CServer类。2.定义CClient类继承Frame类(1)把界面组件定义为属性,在init()方法中构建界面,并调用与服务器连接的方法。(2)connect()方法实现与服务器的连接。(3)Recive()

6、方法实现接收服务器发送的信息。(4)sendName()方法实现向服务器发送用户姓名。(5)定义内部类connBttnListener,实现ActionLIstener。(6)定义内部类Recive,实现线程。(7)定义内部类MyListener,实现ActionLIstener。(8)定义close()方法,实现关闭输出流,关闭套接字。(9)定义主方法,实例化CClient类。11CClienttextArea:TextAreatextField:TextFieldnickName:TextFieldaddress:TextFieldport:TextFieldsendBtt

7、n:ButtonconnBttn:Buttonpanel1:Panelpanel2:Panelsocket:SocketprintStream:PrintStreamCClient()CClient(String)init()connet()recive()sendName()Serversocket:Socketname:StringService(Socket)Service()run()CServertextArea:TextAreasocket:Socketsocket1:Socke

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

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

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