java网络聊天室课程设计报告40内附有代码41 .docx
《java网络聊天室课程设计报告40内附有代码41 .docx》由会员分享,可在线阅读,更多相关《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 通信功能实现方
3、法8参考文献44可编辑资料 - - - 欢迎下载精品名师归纳总结摘要私達実践才能高、学知識運用行更創造、学校特2 週間手配、私達Visual C+課程設計実習行 .詳説明Visual C+6.0環境下、 過程設計、各種個数統計.機能、1 段文字入力、 文字中各類数記録、英文数、数字数、空欄数数含、明示 .以下、課程通説明設計、説明統計、説明調整、総括方面開発、詳製作過程説明、作用、各種実行操作.关键字:統計 ,VC+6.0,可编辑资料 - - - 欢迎下载精品名师归纳总结课程设计概述1.1 问题描述随着运算机网络日新月异的进展,人们的沟通方式越来越多,传统的沟通方式, 如:信件、电报、电话等已
4、经难以中意人们的沟通要求,在互联网上即时的和好友取得联系,已经成为当今社会人们主流的联系方式 .因此,两台运算机之间进行即时通讯、发送文件等沟通方式已经成为必定潮流 .因此显现了等谈天工具,然而 等谈天工具虽然便利、有用,但是,消遣功能太多,有许多吸引人的消遣功能,从确定程度上来说,是一种消遣工具,不能作为用于即时通讯、文件共享的专用工具.目前,用于实现单一的即时通讯、文件共享的软件实在太少,而且,它们中大部分都是确定的 C/S 模式,对远程服务器有特殊大的依靠性,没有完全实现点对点的沟通 .为此,我准备开发一个专用于实现两台运算机之间即时通讯、文件共享的软件,以便利两台运算机之间信息的沟通
5、.防止了服务器忙或与服务器无法连接时,铺张过多时间用于和服务器建立连接 .因此,这个软件是极具适应性和有用性的即时通讯软件 .可编辑资料 - - - 欢迎下载精品名师归纳总结1.2 功能需求分析实现网络谈天的功能,接受Windows Socket(或 Java Socke)t编程,服务器与客户可编辑资料 - - - 欢迎下载精品名师归纳总结端接受了 TCP/IP连接方式,在设计谈天方案时,可将全部信息发往服务器端,再由服务器进行处理,服务器端是全部信息的中心.服务器端要储存用户信息,可利用数据库来实现这一功能,需要建立用户信息数据库.在客户端可接受文件系统储存谈天纪录和用户号码 .可通过闪动托
6、盘图标和播放不同的音乐提示信息到来及好友上线等信息 .可通过建立消息链表来储存用户接收的各种消息.1.3 环境需求分析运行环境: Windows 9x 、 2000、XP、Windows 7必要环境: JDK 1.6以上、 eclipse 开发环境硬件环境: CPU 400MHz以上 ,内存 512MB 以上可编辑资料 - - - 欢迎下载精品名师归纳总结同学信息治理系统软件总体设计2.1 整体思路该 C/S 模式的谈天系统,就是服务器来供应服务端连接响应,客户端主动的发起连接请求 .当多个用户同时连接到服务器时,经由服务器的接收与转发便可以实现客户之间的通信 .对于整体系统的流程,也是分为两
7、部分,即客户端的发起请求,服务器响应请求.第一是客户端的登陆,客户端在登陆时,必需设置所想要连接的服务器,然后客户端就会依据设置的服务器IP 的址,向服务器发起建立连接请求.而服务器端是始终在监听网络状态的,主要检测到有一个连接请求,那么服务器就会给当前的发起端分配一个服务线程,用于处理它的各种请求.对于客户端的各种请求,实际上都是通过在客户发往服务器的各种字符流区分的,详细的方法就是在消息的头部以及尾部添加特殊字符串,从而实现服务器对消息请求的识别 .比如对于登陆信息,消息的头部就是“PEOPL”O而,对于私聊中的消息,头部就是 “SEC”其,他的同理都添加了头部 .当然,对于客户端来说,这
8、些都是透亮 的,用户的操作并没有受到任何影响.在服务器端,消息被检测分析后,变回依据详细的目的进行处理,比如是私聊消息,服务器便会依据其尾部的目的信息,向目标端转发该条消息 .这里额外要说的是,该系统特殊的对用户发来的消息进行了加密处理,即用户的各种详细信息,不仅能够防止向第三方的泄漏,而且即使服务器端显现反常,信息 也不会泄漏 .对于私聊的方式,该系统所接受的方法类似于QQ 的通信方式,由发起方主动连接,当目的方接收到连接请求后,会主动建立一个私聊窗口,从而实现私聊 .可编辑资料 - - - 欢迎下载精品名师归纳总结2.2 总体设计流程图ServerClient建立服务器建立连接等待并接收创
9、建 socket接收请求后创建socket 连接开头通信InputStreamInputStreamOutputStreamOutputStream关闭 socket终止通信关闭 socket可编辑资料 - - - 欢迎下载精品名师归纳总结同学信息治理软件详细设计3.1. 界面设计由于这里界面设计源代码比较简洁,这里不再列出.3.1.1 服务器界面设计服务器界面3.1.2 客户端界面设计可编辑资料 - - - 欢迎下载精品名师归纳总结登陆界面注册界面可编辑资料 - - - 欢迎下载精品名师归纳总结谈天室界面3.2 通信功能实现方法列举部分实现通信功能的主要代码AppServer.java 文件
10、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 。可编辑资料 - - - 欢迎下载精品名师归纳总结/* 创建服务器 启动服务监听 1001端口*/public AppServer sFrame = new ServerFrame。try serverSocket =
11、 new ServerSocket1001。/ 猎取服务器的主机名和 IP的址InetAddress address = InetAddress.getLocalHost。sFrame.txtServerName.setTextaddress.getHostName。sFrame.txtIP.setTextaddress.getHostAddress。sFrame.txtPort.setText1001 。 catch IOException e faile, 不能启动服务! 。sFrame.txtStatus.setText 已启动 .。this.start 。 / 启动线程/* 退出服务器
12、* param e可编辑资料 - - - 欢迎下载精品名师归纳总结* 反常* param str* 退出信息*/public static void failException e, String str System.out.printlnstr + . + e 。/* 监听客户的请求,当有用户请求时创建Connection线程*/public void run try while true / 监听并接受客户的请求Socket client = serverSocket.accept。new ConnectionsFrame, client, userOnline, v 。 / 支持多线程
13、/ 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 ActionListener public JList list。/*/private static final lo
14、ng serialVersionUID = -8936397327038098620L 。/ 服务器信息面板JPanel pnlServer, pnlServerInfo。JLabel lblStatus, lblNumber, lblMax, lblServerName, lblProtocol, lblIP, lblPort, lblLog 。public JTextField txtStatus, txtNumber, txtMax, txtServerName, txtProtocol, txtIP,可编辑资料 - - - 欢迎下载精品名师归纳总结txtPort 。JButton bt
15、nStop, 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 String ti = 。可编辑资料 - - - 欢迎下载精品名师归纳总结public S
16、tring 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 fra.width = scr.width 。if fra.hei
17、ght 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.createCompoundBorder B
18、orderFactory.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最多在线人数 :。txtMax = new JTex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java网络聊天室课程设计报告40内附有代码41 java 网络 聊天室 课程设计 报告 40 附有 代码 41
限制150内