2022年java网络聊天室课程设计报告40内附有代码41.docx
《2022年java网络聊天室课程设计报告40内附有代码41.docx》由会员分享,可在线阅读,更多相关《2022年java网络聊天室课程设计报告40内附有代码41.docx(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源课程设计网络谈天室院系 别信电学院班级运算 102学姓号名指导老师时 间 2021-4-182021-5-10课 程 设 计 任 务 书题 目网络谈天室课程设计系 部信电学院专 业运算机科学与技术欢迎下载精品学习资源班 级运算 102同学姓名学 号4 月 18 日至5 月 10日 共 4 周指导老师 签字 系 主 任签字 一、设计内容及要求二、设计原始资料1)电子工业出版社 JSP有用教程,郑阿奇编著2)电子工业出版社 JAVA程序设计有用教程,叶核亚编著三、设计完成后提交地文件和图表1运算说明书部分JSP界面设计年 月 日欢迎下载精品学习资源2图纸部分: 程序流程图四、进程支配欢
2、迎下载精品学习资源五、主要参考资料1)电子工业出版社JSP有用教程,郑阿奇编著2)电子工业出版社JAVA程序设计有用教程,叶核亚编著考资料欢迎下载精品学习资源成 绩 评 定 表作品成果报告成果口试(答辩)成果总评成果欢迎下载精品学习资源目 录课程设计概述31.1 问题描述31.2 功能需求分析31.3 环境需求分析3同学信息治理系统软件总体设计42.1 整体思路42.2 总体设计流程图5同学信息治理软件详细设计63.1.界面设计63.2 通信功能实现方法8参考文献44欢迎下载精品学习资源摘要私達実践才能高、学知識運用行更創造、学校特2 週間手配、私達Visual C+課程設計実習行 .詳説明V
3、isual C+6.0環境下、 過程設計、各種個数統計.機能、1 段文字入力、 文字中各類数記録、英文数、数字数、空欄数数含、明示 .以下、課程通説明設計、説明統計、説明調整、総括方面開発、詳製作過程説明、作用、各種実行操作.关键字:統計 ,VC+6.0,欢迎下载精品学习资源课程设计概述1.1 问题描述随着运算机网络日新月异地进展,人们地沟通方式越来越多,传统地沟通方式, 如:信件、电报、电话等已经难以中意人们地沟通要求,在互联网上即时地和好友取得联系,已经成为当今社会人们主流地联系方式 .因此,两台运算机之间进行即时通讯、发送文件等沟通方式已经成为必定潮流 .因此显现了等谈天工具,然而 等谈
4、天工具虽然便利、有用,但是,消遣功能太多,有许多吸引人地消遣功能,从确定程度上来说,是一种消遣工具,不能作为用于即时通讯、文件共享地专用工具.目前,用于实现单一地即时通讯、文件共享地软件实在太少,而且,它们中大部分都是确定地 C/S 模式,对远程服务器有特殊大地依靠性,没有完全实现点对点地沟通 .为此,我准备开发一个专用于实现两台运算机之间即时通讯、文件共享地软件,以便利两台运算机之间信息地沟通 .防止了服务器忙或与服务器无法连接时,铺张过多时间用于和服务器建立连接 .因此,这个软件是极具适应性和有用性地即时通讯软件 .欢迎下载精品学习资源1.2 功能需求分析实现网络谈天地功能,接受Windo
5、ws Socket(或 Java Socke)t编程,服务器与客户欢迎下载精品学习资源端接受了 TCP/IP连接方式,在设计谈天方案时,可将全部信息发往服务器端,再由服务器进行处理,服务器端是全部信息地中心.服务器端要储存用户信息,可利用数据库来实现这一功能,需要建立用户信息数据库.在客户端可接受文件系统储存谈天纪录和用户号码 .可通过闪动托盘图标和播放不同地音乐提示信息到来及好友上线等信息 .可通过建立消息链表来储存用户接收地各种消息.1.3 环境需求分析运行环境: Windows 9x 、 2000、XP、Windows 7必要环境: JDK 1.6以上、 eclipse 开发环境硬件环境
6、: CPU 400MHz以上 ,内存 512MB 以上欢迎下载精品学习资源同学信息治理系统软件总体设计2.1 整体思路该 C/S 模式地谈天系统,就是服务器来供应服务端连接响应,客户端主动地发起连接请求 .当多个用户同时连接到服务器时,经由服务器地接收与转发便可以实现客户之间地通信 .对于整体系统地流程,也是分为两部分,即客户端地发起请求,服务器响应请求.第一是客户端地登陆,客户端在登陆时,必需设置所想要连接地服务器,然后客户端就会依据设置地服务器IP 地址,向服务器发起建立连接请求.而服务器端是始终在监听网络状态地,主要检测到有一个连接请求,那么服务器就会给当前地发起端分配一个服务线程,用于
7、处理它地各种请求.对于客户端地各种请求,实际上都是通过在客户发往服务器地各种字符流区分地,详细地方法就是在消息地头部以及尾部添加特殊字符串,从而实现服务器对消息请求地识别 .比如对于登陆信息,消息地头部就是“PEOPL”O而,对于私聊中地消息,头部就是 “SEC”其,他地同理都添加了头部 .当然,对于客户端来说,这些都是透亮 地,用户地操作并没有受到任何影响.在服务器端,消息被检测分析后,变回依据详细地目地进行处理,比如是私聊消息,服务器便会依据其尾部地目地信息,向目标端转发该条消息 .这里额外要说地是,该系统特殊地对用户发来地消息进行了加密处理,即用户地各种详细信息,不仅能够防止向第三方地泄
8、漏,而且即使服务器端显现反常,信息 也不会泄漏 .对于私聊地方式,该系统所接受地方法类似于QQ 地通信方式,由发起方主动连接,当目地方接收到连接请求后,会主动建立一个私聊窗口,从而实现私聊 .欢迎下载精品学习资源2.2 总体设计流程图ServerClient建立服务器建立连接等待并接收创建 socket接收请求后创建socket 连接开头通信InputStreamInputStreamOutputStreamOutputStream关闭 socket终止通信关闭 socket欢迎下载精品学习资源同学信息治理软件详细设计3.1. 界面设计由于这里界面设计源代码比较简洁,这里不再列出.3.1.1
9、服务器界面设计服务器界面3.1.2 客户端界面设计欢迎下载精品学习资源登陆界面注册界面欢迎下载精品学习资源谈天室界面3.2 通信功能实现方法列举部分实现通信功能地主要代码AppServer.java 文件public class AppServer extends Thread private ServerSocket serverSocket;private ServerFrame sFrame;private static Vector userOnline = new Vector1, 1 ;private static Vector v = new Vector1, 1 ;欢迎下载精品
10、学习资源/* 创建服务器 启动服务监听 1001端口*/public AppServer sFrame = new ServerFrame;try serverSocket = new ServerSocket1001;/ 猎取服务器地主机名和 IP地址InetAddress address = InetAddress.getLocalHost;sFrame.txtServerName.setTextaddress.getHostName;sFrame.txtIP.setTextaddress.getHostAddress;sFrame.txtPort.setText1001 ; catch
11、IOException e faile, 不能启动服务! ;sFrame.txtStatus.setText 已启动 .;this.start ; / 启动线程/* 退出服务器* param e欢迎下载精品学习资源* 反常* param str* 退出信息*/public static void failException e, String str System.out.printlnstr + . + e ;/* 监听客户地请求,当有用户请求时创建Connection线程*/public void run try while true / 监听并接受客户地请求Socket client =
12、 serverSocket.accept;new ConnectionsFrame, client, userOnline, v ; / 支持多线程/ System.out.printlnuserLength:+userLength; catch IOException e System.out.println 不能监听 ;欢迎下载精品学习资源/* 启动服务器*/public static void mainString args new AppServer;ServerFrame.java文件public class ServerFrame extends JFrame implements
13、 ActionListener public JList list;/*/private static final long serialVersionUID = -8936397327038098620L ;/ 服务器信息面板JPanel pnlServer, pnlServerInfo;JLabel lblStatus, lblNumber, lblMax, lblServerName, lblProtocol, lblIP, lblPort, lblLog ;public JTextField txtStatus, txtNumber, txtMax, txtServerName, tx
14、tProtocol, txtIP,欢迎下载精品学习资源txtPort ;JButton btnStop, btnSaveLog;public TextArea taLog;JTabbedPane tpServer;public TextArea taMessage;/ 用户信息面板JPanel pnlUser;public JLabel lblMessage, lblUser, lblNotice, lblUserCount;JList lstUser;JScrollPane spUse;rJTextField txtNotice;JButton btnSend, btnKick;public
15、 String ti = ;欢迎下载精品学习资源public String serverMessage = ;public ServerFrame / 服务器窗口superHappyChat 谈天服务器 ;setSize550, 500;setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;setResizablefalse;Dimension scr = Toolkit.getDefaultToolkit.getScreenSize;/ 在屏幕居中显示Dimension fra = this.getSize;if fra.width scr.width f
16、ra.width = scr.width ;if fra.height scr.height fra.height = scr.height ;this.setLocationscr.width - fra.width / 2,scr.height - fra.height / 2 ;/ =服务器信息面板 =pnlServer = new JPanel;pnlServer.setLayoutnull ;pnlServerInfo = new JPanelnew GridLayout14, 1;欢迎下载精品学习资源pnlServerInfo.setBorderBorderFactory.crea
17、teCompoundBorder BorderFactory.createTitledBorder, BorderFactory.createEmptyBorder1, 1, 1, 1;lblStatus = new JLabel当前状态 : ;txtStatus = new JTextField10;txtStatus.setEditablefalse ;lblNumber = new JLabel当前在线人数 :;txtNumber = new JTextField0 人, 10;txtNumber.setEditablefalse ;lblMax = new JLabel最多在线人数 :
18、;txtMax = new JTextField50 人, 10;txtMax.setEditablefalse ;lblServerName = new JLabel服务器名称 :;txtServerName = new JTextField10;txtServerName.setEditablefalse ;lblProtocol = new JLabel拜望协议 :;txtProtocol = new JTextFieldHTTP, 10;txtProtocol.setEditablefalse ;lblIP = new JLabel服务器 IP:;欢迎下载精品学习资源txtIP = n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 java 网络 聊天室 课程设计 报告 40 附有 代码 41
限制150内