网络聊天室课程设计报告(内附java代码)

上传人:re****.1 文档编号:507503900 上传时间:2024-02-22 格式:DOCX 页数:45 大小:428.93KB
返回 下载 相关 举报
网络聊天室课程设计报告(内附java代码)_第1页
第1页 / 共45页
网络聊天室课程设计报告(内附java代码)_第2页
第2页 / 共45页
网络聊天室课程设计报告(内附java代码)_第3页
第3页 / 共45页
网络聊天室课程设计报告(内附java代码)_第4页
第4页 / 共45页
网络聊天室课程设计报告(内附java代码)_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《网络聊天室课程设计报告(内附java代码)》由会员分享,可在线阅读,更多相关《网络聊天室课程设计报告(内附java代码)(45页珍藏版)》请在金锄头文库上搜索。

1、课程设计网络聊天室院(系)别信电学院班 级 计算102学号姓名指导教师时间2013-4-182013-5-10课程设计任务书题 目 网络聊天室课程设计系信B) 信电学院专业计算机科学与技术班级计算102学生姓名学 号上月 18 日至-5_月 10 日共 4 周指导教师(签字)系主任(签字)年 月 日设计内容及要求、设计原始资料1)电子工业出版社JSP实用教程,郑阿奇编著2)电子工业出版社JAVA程序设计实用教程,叶核亚编著三、设计完成后提交的文件与图表1 .计算说明书部分JSP界面设计2 .图纸部分:程序流程图四、进程安排五、主要参考资料1)电子工业出版社JSP实用教程,郑阿奇编著2)电子工业

2、出版社JAVA程序设计实用教程,叶核亚编著考资料成绩评定表作品成绩报告成绩口试(答辩)成绩总评成绩目录课程设计概述 11、1 问题描述 11、2功能需求分析 11、 3 环境需求分析 1学生信息管理系统软件总体设计 22、 1 整体思路 22、 2 总体设计流程图 2学生信息管理软件详细设计 33、 1、界面设计 34、 2 通信功能实现方法 6参考文献 错误!未定义书签。课程设计概述1 、 1 问题描述、随着计算机网络日新月异的发展,人们的交流方式越来越多,传统的交流方式,如:信件、电报、电话等已经难以满足人们的交流要求,在互联网上即时的与好友取得联系, 已经成为当今社会人们主流的联系方式。

3、 因此,两台计算机之间进行即时通讯、发送文件等交流方式已经成为必然潮流。因此出现了 Q Q等聊天工具,然而Q Q等聊天工具虽然方便、 实用 ,但就是,娱乐功能太多,有很多吸引人的娱乐功能,从一定程度上来说,就是一种娱乐工具,不能作为用于即时通讯、文件共享的专用工具。目前,用于实现单一的即时通讯、文件共享的软件实在太少,而且,它们中大部分都就是绝对的C/S模式,对远程服务器有非常大的依赖性,没有彻底实现点对点的交流。为此,我决定开发一个专用于实现两台计算机之间即时通讯、 文件共享的软件 ,以方便两台计算机之间信息的交流。 避 免了服务器忙或与服务器无法连接时,浪费过多时间用于与服务器建立连接。因

4、此,这个软件就是极具适应性与实用性的即时通讯软件。1、 2 功能需求分析实现网络聊天的功能,采用Windows Socket(或Java Socket编程,服务器与客户端采用了 TCP/IP连接方式,在设计聊天方案时,可将所有信息发往服务器端,再由服务器进行处理, 服务器端就是所有信息的中心。 服务器端要保存用户信息,可利用数据库来实现这一功能,需要建立用户信息数据库。 在客户端可采用文件系统保存聊天纪录与用户号码。 可通过闪动托盘图标与播放不同的音乐提示信息到来及好友上线等信息。 可通过建立消息链表来保存用户接收的各种消息。1、 3 环境需求分析运行环境 :Windows 9x 、 2000

5、、 XP、 Windows 7必要环境:JDK 1 6以上、eclipse开发环境硬件环境:CPU 400MHz以上,内存512MB以上学生信息管理系统软件总体设计2、1整体思路该C/S模式的聊天系统,就就是服务器来提供服务端连接响应 千户襦主动的3起 连接请求。当多个用户同时连接到服务器时,经由服务器的接收与转册可以实现客户 之间的通信。对于整体系统的流程,也就是分为两部分,即客户端的发起请求,服务器响应请求。 首先就是客户端的登陆,客户端在登陆时,必须设置所想要连接的服务器,然后客户端就 会根据设置的服务器IP地址,向服务器发起建立连接请求。而服务器端就是始终在监 听网络状态的,主要检测到

6、有一个连接请求,那么服务器就会给当前的发起端分配一个 服务线程,用于处理它的各种请求。对于客户端的各种请求,实际上都就是通过在客户发往服务器的各种字符流区分的,具体的方法就就是在消息的头部以及尾部添加特殊字符串,从而实现服务器对消息请求的识别。比如对于登陆信息,消息的头部就就是“ PEOPLO,而对于私聊中的消息, 头部就就是“SEC,其她的同理都添加了头部。当然,对于客户端来说,这些都就是透明的,用户的操作并没有受到任何影响。在服务器端,消息被检测分析后,变回根据具沐的目的进行处理,比如就是私聊消息,服务器便会根据其尾部的目的信息 ,向目标端转发该 条消息。这里额外要说的就是,该系统特别的对

7、用户发来的消息进行了加密处理 ,即用户的 各种具体信息,不仅能够防止向第三方的泄漏,而且即使服务器端出现异常,信息也不会 泄漏。对于私聊的方式,该系统所采用的方法类似于 QQ的通信方式,由发起方主动连接 当目的方接收到连接请求后,会主动建立一个私聊窗口 ,从而 实现私聊。2、2总体设计流程图创建socket关闭socket I如宋迪/关闭socket学生信息管理软件详细设计3、1、界面设计由于这里界面设计源代码比较简单,这里不再列出。3、1、1服务器界面设计服务器界面3、1、2客户端界面设计登陆界面注册界面一叫j&kaui ui * j xi, xw-x / *聊天室界面3、2通信功能实现方法

8、 列举部分实现通信功能的主要代码AppServer、java 文件public class AppServer extends Thread ServerSocket serverSocket ; ServerFrame sFrame;static Vector userOnline = new Vector(1, 1); static Vector v = new Vector(1, 1);*创建服务器 启动服务监听1001端口 */public AppServer() sFrame = new ServerFrame(); try serverSocket = new ServerSock

9、et(1001);/获取服务器的主机名与IP地址InetAddress address = InetAddress、getLocalHost ();sFrame、txtServerName 、setText(address 、getHostName();sFrame、 txtIP 、 setText(address 、 getHostAddress(); sFrame、txtPort 、setText( 1001); catch (IOException e) fail (e,不能启动服务!);privateprivateprivateprivate/*sFrame、txtStatus 、se

10、tText(已启动、);this 、 start(); / 启动线程/*退出服务器param e异常param str退出信息*/public staticvoid fail(Exception e, String str) + e);System 、 out 、 println(str +/* 监听客户的请求, 当有用户请求时创建 Connection 线程*/publicvoid run() trywhile ( true ) / 监听并接受客户的请求多线程Socket client =new Connection(serverSocket 、 accept();sFrame , clie

11、nt,userOnline , v); / 支持/ System 、 out 、 println(userLength:+userLength); catch (lOException e) System、out、println( 不能监听);/* 启动服务器* /public static void main(String args口) new AppServer();ServerFrame、java 文件public class ServerFrame extends JFrame implements ActionListener public JList list ;/* * /pri

12、vate static final long serialVersionUID = -8936397327038098620L;/服务器信息面板JPanelpnlServer,pnlServerInfo ;JLabellblStatus,lblNumber ,lblMax, lblServerName , lblProtocollblIP ,lblPort , lblLog ;public JTextField txtStatus , txtNumber , txtMax , txtServerName txtProtocol , txtIP ,txtPort ;JButton btnStop

13、 , btnSaveLog ;public TextArea taLog ;JTabbedPane tpServer ;public TextArea taMessage ;/用户信息面板JPanel pnlUser ;public JLabel lblMessage , lblUserIblNoticelblUserCountJList lstUser ;JScrollPane spUser ;JTextField txtNotice ;JButtonbtnSend , btnKick ;publicString ti =;publicString serverMessage =;publicServerFrame() /服务器窗口super (HappyChat聊天服务器);setSize(550, 500);setDefaultCloseOperation(JFrame、EXIT ON_CLOSE;setResizable( false );Dimension scr = Toolkit、getDefaultToolkit()、getScreenSize(); / 在屏幕居中显示

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

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