基于java的局域网聊天系统-课程设计报告
java课程设计---局域网聊天程序的设计与实现
课程设计报告
设计名称:面向对象课程设计
选题名称:局域网聊天程序的设计与实现姓名:学号:
专业班级:
系(院):
设计时间:
设计地点:
面向对象课程设计报告第7 页,共14 页
面向对象课程设计报告第8 页,共14 页
面向对象课程设计报告第9 页,共14 页
面向对象课程设计报告第10 页,共14 页
面向对象课程设计报告第11 页,共14 页
(2).用户使用说明:
在昵称里输入想要使用的名字,在主机地址写入运行服务器端程序的电脑的ip地址,默认为localhost,代表本机,在端口号中输入和服务器端程序约定好的端口号,默认为4331,如果不一致会导致运行失败,最后选择性别后点击“连接”按钮连接服务器,弹出聊天界面。
进入聊天界面后在公共聊天区会自动显示“欢迎xx”信息。
在用户列表会显示在线的用户,点击某个用户的名字后聊天对象自动变成被电击的用户,默认是所有人。
万一用户列表显示不正确,点击刷新按钮可以从服务器重新获取用户列表。
个性化设置(仅本地有效):四种主题,字体和颜色自定义,自动换行,发送快捷键。
有用户退出会在公共聊天区显示系统信息提示并自动刷新用户列表。
(3).测试结果:
运行程序首先出现的登陆界面。
测试用户:Jarry
连接成功后的聊天界面,公共聊天区显示发给所有人的信息,我的频道显示发给指定人的信息。
界面为红色,颜色为蓝色,字体为楷体,聊天对象为Tom。
基于JAVA局域网聊天程序设计与实现(附源代码)
局域网聊天课程设计摘要随着互联网的发展,网络聊天工具作为一种交流工具,已经受到网民的青睐。
目前,出现了很多功能强大的聊天工具,其中应用比较广泛的有腾讯QQ、MSN-Messager等等。
即时通讯软件,是每一个上网用户都需要的工具,它除了能够让您迅速地在网上找到自己的朋友和伙伴之外,还可以实时交谈和传递信息,截止到目前,全球约有近3亿多人使用即时软件,正因为即时通讯软件拥有数以亿计的用户和增长的市场,所以各个公司都盯上了这个最大的市场,一时间,即时通讯市场硝烟四起。
对等网络(peer-to-peer,简称P2P),应用最初出现时和现在并不相同。
事实上可以认为它是若干不同技术以及流行趋势相结合的产物。
以下是导致P2P技术发展最重要的趋势:首先,一些新技术与软件工程的结合,形成了一种将工作分散的趋势。
P2P计算正是这种分散工作趋势的结果。
其次,在企业应用集成等因素的驱动下,过去十年渐渐形成从集中的单机系统转向分布式系统。
然而随着互联网的发展,全面的分布式计算也就成为一种迫切需求。
关键词:局域网聊天 P2P javaAbstractWith the development of the Internet,the chat tool as a communication tool, has been popularly accepted by netizens of all ages. At present, there are many powerful chat tools, of which Tencent QQ, MSN-Messager are much more prevalent.Instant messaging software is necessary for every one who connects to the internet, which can not only provide you a prompt way to find friends and partners online, but can provide you the convenience of internet relay chat and information delivering. Up to now, there are about 300 million people using real-time software all over the world. As more and more corporations have focused on this market with growing potential, which has hundreds of millions of uses, the competitions among these corporations are extremely fierce.The initial application of peer-to-peer network (peer-to-peer, referred to as P2P) is not the same as it is now. In fact, it can be regarded as a combination of different technologies and fashion trends. Below are the most important trends that have led the development of P2P technology: First of all, the integration of software engineering and new technologies led to a working dispersion trend. As a result, P2P computing was born. Then, in the past decade, it has turned fro m a single centralized system to distributed system due to the motivation of factors such as enterprise application integration. At last, with the development of the Internet, however, a comprehensive distributed computing has become an urgent need.Keywords:LAN chat P2P java局域网聊天课程设计目录摘要 (i)Abstract ..................................................................................................................................... i i 1绪论 . (1)1.1JAVA的网络功能与编程 (1)1.1.1JAVA概述 (1)1.1.2 JAVA的特点 (3)1.1.3 JAVA语言在网络上的应用 (5)1.2J AVA B EANS技术 (6)1.3IP/TCP协议常识 (6)1.4S OCKET的简介 (7)1.5对等网络 (8)1.5.1 对等网络发展历史 (8)1.5.2 对等网络的概念 (9)1.5.3 对等网络的主要系统结构 (9)2 JAVAqq局域网聊天程序的需求分析 (13)2.1课题来源 (13)2.2需求分析 (13)3 JAVAqq局域网聊天程序的系统分析与设计 (15)3.1JAVA QQ局域网聊天程序的总体设计要点 (15)3.2JAVA QQ局域网聊天程序的设计步骤及功能模块划分 (15)3.3JAVA QQ局域网聊天程序各功能模块 (16)4 JAVAqq局域网聊天程序的设计与实现 (24)4.1开发环境工具 (24)4.2硬件环境 (24)4.3聊天系统功能模块的测试 (24)结论 (27)致谢 (29)参考文献 (30)附录 A 程序源代码 (31)1绪论随着互联网逐步普及,互联网技术的逐步提高。
局域网聊天室 JAVA课程设计
《面向对象程序设计》课程设计报告题目:局域网聊天室程序设计院(系):信息科学与工程学院专业班级:计算机科学与技术1201班学生姓名:程伟学号:20121183011指导教师:吴奕2014年12月29日至2015年1月9日华中科技大学武昌分校制面向对象程序设计课程设计任务书一、设计(调查报告/论文)题目局域网聊天室程序设计二、设计(调查报告/论文)主要内容内容:用来提供局域网中用户之间的交互通讯,使用Eclipse与JDK1.6工具,操作系统为WINDOWS,采用面向对象方法完成,包括总体设计、详细设计、编码实现、测试。
运用套接字Socket连接技术,实现客户端的套接字对象和服务器端的套接字对象之间的输入输出流的连接,达到数据报通信的目的基本功能与要求:实现聊天室服务器端的要求:①设计实现在特定端口上进行侦听,等待客户端的连接。
②用户确定服务器的侦听端口。
③系统能向已经连接到服务器端的用户发送系统消息。
④系统能统计在线人数。
⑤当系统停止服务时,设计程序应能断开所有的用户连接。
实现聊天室客户端的要求:①系统能连接已经开启聊天服务的服务端。
②用户确定要连接服务器端的IP地址与端口号,连接后系统应能提供显示的用户名。
③当服务器端开启的话,实现用户的登录与注销。
④用户可以通过设计的系统向所有人或者某一个人发送消息。
三、原始资料1.《面向对象程序设计课程设计》指导书2.耿祥义.JAVA大学实用教程.北京:清华大学出版社,2009.四、要求的设计(调查/论文)成果1.课程设计报告2.课程设计软件五、进程安排布置任务,查找资料、需求分析1天总体设计1天详细设计1.5天编制源程序实现3.5天测试与修改1天撰写课设报告2天六、主要参考资料[1]张广彬.Java课程设计案例精编(第二版).北京:清华大学出版社,2011.[2]耿祥义.Java课程设计(第二版).北京:清华大学出版社,2008.[3]耿祥义.JAVA大学实用教程.北京:清华大学出版社,2009.[4]邹林达.陈国君Java2程序设计基础.北京:清华大学出版社,2010.[5]邹林达.Java2程序设计基础实验指导.北京:清华大学,2010.指导教师(签名):20年月日目录1需求与总体设计 (1)1.1需求与系统功能图 (1)1.2系统类图 (2)1.2.1服务端系统 (2)1.2.2客户端服务系统 (3)2详细设计 (4)2.1聊天室服务器端的设计 (4)2.1.1ChatServer类 (4)2.1.2ServerListen类 (5)2.1.3ServerReceive类 (5)2.1.4PortConf类 (6)2.1.5Help类 (6)2.1.6UserLinkList类 (7)2.1.7Node类 (7)2.2聊天室客户端设计 (8)2.2.1ChatClient类 (8)2.2.2ConnectConf类 (9)2.2.3UserConf类 (9)2.2.4Help类 (10)2.2.5ClientReceive类 (10)3编码实现 (11)3.1服务器编码实现 (11)3.1.1ChatServer类 (11)3.1.2ServerListen类 (21)3.1.3ServerReceive类 (23)3.1.4PortConf类 (27)3.1.5UserLinkList类 (30)3.1.6Node类 (31)3.1.7Help类 (32)3.2客户端编码实现 (34)3.2.1ChatClient类 (34)3.2.2ClientReceive类 (46)3.2.3ConnectConf类 (48)3.2.4UserConf类 (51)3.2.5Hlep类 (54)4系统测试 (56)总结 (57)1需求与总体设计1.1需求与系统功能图本系统所要实现的主要功能是为广大用户提供一个借助网络进行人际交往的平台。
Java聊天室课程设计报告
UML课程设计题目网络聊天程序开发设计与实现学号:*************名:***指导教师:完成时间:2017年 12月目录1.摘要 (2)2.绪论 02.开发环境 03.需求分析 (1)3.1程序简介 (1)3.2程序功能 (1)4.系统设计 (2)4.1概要设计 (2)4.2详细设计 (2)5.测试 (7)6.结论 (9)参考文献 (10)摘要本次训练主要是考查了对JA V A程序设计的综合运用,设计一个Socket 通信的聊天程序,用户可以通过程序进行聊天通信,但不支持用户自定义表情及图片的发送。
本程序设计也用到了一些相关的标准Java的类,给程序设计带来了许多的方便,但用那些要切记加相应的类的包,还有一些构造方法和个别接口方法。
本程序可以实现用户之间的一些简单的交互,虽然功能较少,但是我想通过这次程序设计来熟悉并且学习更多关于JA V A编程的东西,来便于以后可以使用。
关键词:java聊天1.绪论对于一个选择网络编程的人来说,必须要有足够的细心和耐心,因为编程一般来说是很枯燥的乏味的,而且程序会越来越复杂,它所用到的符号、标记很多,所以不能出点小错误的。
还有,我们不能只是看程序,要学会把自己学的自己拿去实践,自己去编一些程序,培养自己的动手能力,掌握一些编程技巧,熟练运用自己学到的理论知识,这样在以后才能开发出属于自己的东西。
如今,随着科学技术的发展,计算机已成为了我们生活中必不可少的设备了,而掌握计算机知识和运用,又成了我们每一个人的目标了。
现在IT行业的飞速发展,无不应正了以前、现在、将来计算机行业都是科学发展的主导行业。
而这些基本上都建立在程序上的,所以程序员对计算机行业来说,可想而知有多么的重要了,他们所付出的每一滴汗水都将推动这个行业的发展。
现在我就用JA V A语言编写一个简单的程序——Java聊天程序。
将所学的基本知识用到其中去,这里包括了构造方法,创建图形界面,引用类等等。
Java局域网聊天程序课程设计(含代码)
JAVA聊天室的系统的设计与开发1.主要内容:用JA V A实现基于C/S模式的聊天室系统。
聊天室分为服务器端和客户端两部分,服务器端程序主要负责侦听客户端发来的信息,客户端需要登陆到服务器端才可以实现正常的聊天功能。
2.具体要求(包括技术要求等):系统的功能要求:A.服务器端主要功能如下:1.在特定端口上进行侦听,等待客户端连接。
2.用户可以配置服务器端的侦听端口,默认端口为8888。
3.向已经连接到服务器端的用户发送系统消息。
4.统计在线人数。
5.当停止服务时,断开所有的用户连接。
B.客户端的主要功能如下:1.连接到已经开启聊天服务的服务器端。
2.用户可以配置要连接的服务器端的IP地址和端口号。
3.用户可以配置连接后显示的用户名。
4.当服务器端开启的话,用户可以随时登录和注销。
5.用户可以向所有人或某一个人发送消息。
学习并掌握一下技术:Java JavaBean 等熟练使用一下开发工具:Eclipse,JCreator 等实现系统上诉的功能。
3.进度安排:12月28日~ 12月29日:课程设计选题,查找参考资料12月30日~ 1月1日:完成系统设计1月2日~ 1月5日:完成程序代码的编写1月6日:系统测试与完善1月7日:完成课程设计报告,准备答辩4.主要参考文献:[1].张广彬孟红蕊张永宝.Java课程设计(案例精编)[M].清华大学出版社.2007年版摘要在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的OICQ。
基于Java网络编程的强大功能,本次毕业设计使用Java编写一个聊天系统。
一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,本系统采用客户机/服务器架构模式通过Java提供的Soket类来连接客户机和服务器并使客户机和服务器之间相互通信,由于聊天是多点对多点的而Java提供的多线程功能用多线程可完成多点对多点的聊天,数据库管理系统用SQL Server2000完成并通过JDBC-ODBC桥访问数据库。
基于JAVA的聊天系统的设计与实现课程设计说明书
课程设计说明书设计题目:基于java的聊天系统设计与实现基于JAVA的聊天系统的设计与实现摘要网络聊天工具已经作为一种重要的信息交流工具,受到越来越多的网民的青睐。
目前,出现了很多非常不错的聊天工具,其中应用比较广泛的有Netmeeting、腾讯QQ、MSN-Messager等等。
该系统开发主要包括一个网络聊天服务器程序和一个网络聊天客户程序两个方面。
前者通过Socket套接字建立服务器,服务器能读取、转发客户端发来信息,并能刷新用户列表。
后者通过与服务器建立连接,来进行客户端与客户端的信息交流。
其中用到了局域网通信机制的原理,通过直接继承Thread类来建立多线程。
开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server 模式)、网络编程的设计方法等。
在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流的分析,包含了一些基本的软件工程的方法。
经过分析这些情况,该聊天工具采用Eclipse为基本开发环境和java语言进行编写,首先可在短时间内建立系统应用原型,然后,对初始原型系统进行不断修正和改进,直到形成可行系统关键词:即时通讯系统 B/S C/S MySQL Socket Swing目录第1章引言 (1)1.1 开发背景 (1)1.2 开发目的和意义 (1)1.3 论文研究内容 (2)第2章即时通讯系统的相关研究 (3)2.1 C/S开发模式 (3)2.2 B/S开发模式 (3)2.3即时通讯原理 (4)2.4 Java web 、Struts2、AJAX、JavaScript应用技术 (4)2.5 MySQL数据库应用技术 (4)2.6 Socket通信技术 (4)2.7 开发环境的搭建 (5)第3章系统分析 (6)3.1 系统基本功能描述 (6)3.2 可行性分析 (6)3.3 系统需求分析 (7)3.3.1功能分析 (7)第4章系统设计 (9)4.1 数据库设计 (9)4.2 系统模块设计 (10)4.2.1 聊天系统工作原理图 (10)4.2.2 系统功能模块图: (11)4.2.3 系统用例图: (11)4.2.4 活动图: (12)4.3 系统类设计 (14)4.3.1 Message类的设计 (14)4.2.2 截图类的设计 (15)4.2.3 聊天记录类的设计 (16)4.2.4 服务器线程类设计 (17)第5章系统实现 (18)5.1 实现概况 (18)5.2 注册模块 (18)5.2.1 流程图 (18)5.2.2 关键代码 (18)5.3 登录模块 (20)5.3.1 流程图 (20)5.3.2 关键代码 (20)5.4 聊天模块 (24)5.4.1 流程图 (24)5.4.2 关键代码 (24)5.5 文件模块 (28)5.5.1 流程图 (28)5.5.2 关键代码 (28)5.6 用户管理模块 (33)5.6.1 流程图 (33)5.6.2 关键代码 (34)5.7 其他功能的实现 (36)5.7.1 截图功能的实现 (36)5.7.2 聊天记录功能的实现 (37)5.7.3 服务端线程的实现 (38)5.8 用户界面的设计 (38)结语 (42)第1章引言1.1 开发背景随着互联网的快速发展,网络聊天工具已经作为一种重要的信息交流工具,受到越来越多的网民的青睐。
网络工程设计课程设计_课程设计报告_局域网聊天软件的设计与实现
网络工程设计课程设计网络工程设计课程设计局域网聊天软件的设计与实现学院计算机工程学院专业班级网络工程2013级1班学生姓名吴嘉明学生学号 201330097014提交日期 2016 年 5月 20 日网络工程设计课程设计摘要在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的QQ等等。
本次网络工程设计课程设计,我选择的课题是局域网聊天软件的设计与实现。
局域网聊天软件作为一种新型的聊天工具可以提供更为及时、可靠、突破了必须有外界网络接入等优点,具有极其广泛的发展前景。
基于Java网络编程的强大功能,本次课程设计使用Java来进行代码的编写。
一般来说,聊天工具大多数由客户端程序和服务器端程序外加服务器端用于存放客户数据的数据库组成,本系统采用客户机/服务器架构模式,通过Java提供的Socket类来连接客户机和服务器并使客户机和服务器之间能够相互通信,由于聊天是多点对多点的,所以在客户端与服务端的实现过程中大量的采用了多线程,这样可以让客户端和服务端更加有效的完成所需服务。
此外,后台数据库采用的是mySql 数据库,其用来保存用户的相关信息。
服务器端与后台数据库建立连接是通过JDBC-ODBC桥连的方式来完成的。
一旦连接建立,服务器端就可以对数据库的数据进行增删改查等操作。
本系统建立在JAVA平台上,系统的设计使用了面向对象技术和面向对象的设计原则。
采用TCP模式进行文字聊天,在客户端之间点对点(C/C)的进行。
本系统采用典型的C/S(客户端/服务器)的框架模式,在该方案中采用Socket(套接字)原理实现网络通信,从而大大降低了程序的开发难度。
使用JAVA语言编写,开发工具采用NetBeans。
本聊天软件主要实现了文件传输、文本聊天、用户注册与登陆等一系列功能。
关键词:客户机/服务器;Java;Socket;多线程;TCP/IPI网络工程设计课程设计目录(各章题序及标题:小四号,宋体,加粗,居左;其余用小四号,宋体)摘要 2II。
Java课程设计(论文)-基于Java的聊天系统
Java课程设计(论文)-基于Java的聊天系统学院学生课程设计(论文)题目: Java课程设计聊天程序学生姓名: 学号: 所在院(系): 计算机学院专业: 计算机科学与技术班级: (一)班指导教师: 职称:年月日学生课程设计任务书题目聊天程序1、课程设计的目的通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。
2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)该程序实现聊天功能,包括服务器段程序和客户端程序。
要求:(1)客户端程序:可连接到服务器,并将消息发送到服务器端和接受服务器端发送来的消息。
(2)服务器端程序:可将消息发送到客户端和接受客户端发送来的消息。
3、主要参考文献[1]朱福喜.《Java语言程序设计》(第二版).科学出版社[2]陈国君等.《Java程序设计基础》(第二版).清华大学出版社 [3] Deitel.《Java大学基础教程》(第六版).电子工业出版社 [4] MaryCampione.《Java语言导学》(第四版).机械工业出版社 [5] Y.Daniel Liang.《Java语言程序设计基础篇》(第六版). 机械工业出版社 [6] Kathy Sierra.《Head First Java》(第二版).东南大学出版社4、课程设计工作进度计划序号时间(天) 内容安排备注1 1 分析设计准备周一2 2 编程调试阶段周二至周三3 1 编写课程设计报告周四4 1 考核周五总计 5(天)指导教师(签字) 日期年月日教研室意见:年月日学生(签字):接受任务时间: 年月日课程设计(论文)指导教师成绩评定表题目名称聊天程序分得评分项目评价内涵值分遵守各项纪律,工作刻苦努力,具有良好的科学工01 学习态度 6 工作态度。
作通过实验、试验、查阅文献、深入生产实践等渠02 表科学实践、调研 7 道获取与课程设计有关的材料。
基于java的局域网聊天系统(可编辑)
基于Java的局域网聊天系统引论交流对于现代社会及其每个社会的成员都非常重要。
直接交流的方式有许多,包括语言交流、书面文字交流、肢体动作交流等,而远程通讯交流则还需借助于一些先进的高级工具,诸如移动电话、固定电话、网络等。
而本篇论文研究的则是网络即时通讯系统。
计算机网络技术发展到今天,已经非常的发达非常的普及了,网络带给人们的通讯交流方式也更加受到各个层次人们的青睐。
功能齐全的网络通讯交流设备不仅可以实现文本传输而且可以使人们进行音频视频的直观交流,在利用现代多媒体的技术的同时,它还有助于使用者对工作中各种信息进行分类和处理。
大家都知道,QQ是目前国内最火爆的网络通讯设备。
QQ最大的特点就是方便即时,只要记得对方的QQ号码,添加他为好友,就可以随时随地实现聊天、沟通、视频远程操作协助语音通话等功能,是比较现代化的通讯技术之一。
在现代信息科学技术社会,通讯系统推陈出新,功能强大。
该论文现在要探讨的即时通讯系统,是目标定位到企业内部网络,以方便解决企业公司内部的沟通交流等问题,可以大大提高企业公司的工作效率。
该通讯设备方便内部员工进行沟通交流,例如文字传送,语音聊天,视频通话等等。
该即时通讯系统由客户端程序与服务器端程序两部分组成,支持局域网和以太网。
而这样企业员工就可以在任何有网络覆盖的地方进行随时进行意见的交流和文件的传送等。
使人们不用浪费时间,花费金钱在固定的地点交流。
QQ等工具公共通讯系统,因为具有聊天内容和对象不可控的特点,可能会减低员工的工作效率。
由于该即时通讯系统用于企业内部,因此服务器端也安装在企业内部,并且只有系统管理员才能进行人员名称数目的创建,这样就助于更好的解决公共通讯系统存在的问题。
即时通讯具有良好的互动性,互动性可体现在人们在交流不同的问题意见时,发现听取对方的建议是效果更好。
通过使用及时通讯系统,人们可以在网络覆盖的地方和有电脑的情况下不借助其他外在设备,在线工作交流。
JAVA课程设计报告聊天室
JAVA课程设计报告聊天室一、课程目标知识目标:1. 学生能理解网络编程的基本概念,掌握JAVA Socket编程的基础知识。
2. 学生能运用面向对象编程思想,设计并实现聊天室客户端与服务器的数据传输功能。
3. 学生了解并掌握多线程技术在网络编程中的应用。
技能目标:1. 学生能运用所学知识,独立编写并调试简单的聊天室程序。
2. 学生具备分析问题、解决问题的能力,能针对聊天室程序进行优化和改进。
3. 学生能在团队协作中发挥自己的作用,与他人共同完成一个完整的网络编程项目。
情感态度价值观目标:1. 学生培养对计算机编程的兴趣,增强学习JAVA的自信心。
2. 学生认识到团队合作的重要性,培养良好的团队协作精神。
3. 学生通过编程实践,体验创新与创造的乐趣,培养积极向上的学习态度。
本课程针对高年级学生,结合课本内容,注重理论与实践相结合,以提高学生的实际编程能力为主要目标。
课程要求学生在掌握基本知识的基础上,能够独立完成实际项目,培养其分析问题、解决问题的能力。
同时,课程强调团队协作,使学生学会与他人共同进步,共同成长。
通过本课程的学习,使学生达到知识、技能和情感态度价值观的全面提升。
二、教学内容1. 网络编程基础理论:介绍网络编程的基本概念,包括IP地址、端口号、协议等,使学生理解网络通信的基本原理。
- 教材章节:第三章 网络编程基础2. JAVA Socket编程:讲解Socket编程的原理,指导学生掌握客户端与服务器之间的数据传输方法。
- 教材章节:第四章 Socket编程3. 面向对象编程:运用面向对象编程思想,设计聊天室程序,包括类的定义、封装、继承与多态。
- 教材章节:第二章 面向对象编程基础4. 多线程技术:介绍多线程编程的概念,分析在聊天室程序中如何实现多用户并发通信。
- 教材章节:第五章 多线程编程5. 聊天室程序设计与实现:指导学生完成聊天室客户端与服务器的编写,实现基本的功能需求。
java聊天室课程设计报告
课程设计报告2011 ~ 2012 学年第一学期学号 20104053020 姓名胡勇昌院系信息工程与技术专业计算机工程系课程名称 JAVA程序设计课程设计名称局域网内的多功能聊天室学时学分 1指导教师许烁娜2011年12 月25 日目录课程设计报告 (1)第1章引言 (3)1.1背景 (3)1.2相关技术 (3)1.2.1 JAVA概述 (3)1.2.2 Socket (3)1.2.3 TCP 三次握手 (4)1.3术语 (4)第2章需求分析与系统设计 (5)2.1需求分析 (5)2.2系统设计 (6)2.2.1多用户在线方案 (6)2.2.2 系统功能 (6)第3章系统实施 (6)3.1聊天室窗口 (6)3.2建立客户端窗口 (8)3.3内嵌“私聊”窗口 (9)3.4客服端类继承客户端窗口类,并内嵌私聊程序 (10)第4章测试 (15)4.1测试环境与使用方法 (15)4.2功能测试 (15)4.2.1聊天室窗口 (15)4.2.2 客户端窗口 (16)4.2.3 内嵌“私聊”窗口 (16)参考文献 (16)第1章引言1.1 背景网络聊天室通常直称聊天室,是一种人们可以在线交谈的网络论坛,在同一聊天室的人们通过广播消息进行实时交谈。
聊天室可以建立在即时通讯软件(如MSN Messenger、QQ)、P2P软件、万维网(如Halapo,Meebo ) 等基础上,万维网方式更为普通和种类繁多,交谈的手段不局限于文本,更包括语音、视频。
通常聊天室是按照房间或频道为单位的,在同一房间或频道的网人可以实时地广播和阅读公开消息。
一般情况下,与其它网络论坛、即时通讯不同的是,聊天室不保存聊天记录。
1.2 相关技术1.2.1 JA V A概述Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和java平台(即JavaSE, JavaEE, JavaME)的总称。
局域网聊天java课程设计
局域网聊天java课程设计一、课程目标知识目标:1. 让学生理解局域网的基本概念,掌握Java语言在局域网环境下的网络编程技术;2. 学会使用Java语言实现局域网内聊天功能,了解TCP/IP协议在网络编程中的应用;3. 掌握Java多线程编程技术,实现局域网聊天程序中的并发通信。
技能目标:1. 培养学生运用所学知识解决实际问题的能力,能够独立完成局域网聊天程序的编写;2. 提高学生的编程实践能力,熟练使用Java语言进行网络编程;3. 培养学生的团队协作能力,分组合作完成课程设计。
情感态度价值观目标:1. 激发学生对计算机网络编程的兴趣,培养积极探究的学习态度;2. 培养学生遵守网络道德规范,养成良好的网络行为习惯;3. 增强学生的网络安全意识,提高自我保护能力。
分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握计算机网络基本原理的基础上,运用Java语言实现局域网聊天功能。
通过课程学习,学生能够具备实际编程能力,解决实际问题,并养成良好的网络素养。
同时,课程目标具体、可衡量,有助于后续教学设计和评估的实施。
二、教学内容1. 局域网基础理论:包括局域网的概念、拓扑结构、IP地址分配及子网划分等,重点讲解局域网内通信原理。
教材章节:第一章 计算机网络基础2. Java网络编程:介绍Java网络编程的基本概念,如Socket编程、TCP/IP 协议在Java中的应用等。
教材章节:第三章 Java网络编程3. 多线程编程:讲解Java多线程编程基础,实现局域网聊天程序中的并发通信。
教材章节:第五章 多线程编程4. 局域网聊天程序设计:分析聊天程序的需求,设计程序架构,编写代码实现聊天功能。
教材章节:第六章 局域网聊天程序设计5. 实践环节:分组进行编程实践,每组完成一个局域网聊天程序,并进行调试与优化。
教材章节:实践篇教学内容安排和进度如下:1. 第1周:局域网基础理论,完成理论学习和实践任务;2. 第2周:Java网络编程,掌握Socket编程及TCP/IP协议;3. 第3周:多线程编程,学习并实践Java多线程技术;4. 第4周:局域网聊天程序设计,分析需求,设计程序架构;5. 第5周:编写代码,实现局域网聊天功能;6. 第6周:调试与优化程序,分组展示成果。
java毕业设计----基于JAVA局域网聊天程序设计与实现(附源代码)
摘要随着互联网的发展,网络聊天工具作为一种交流工具,已经受到网民的青睐。
目前,出现了很多功能强大的聊天工具,其中应用比较广泛的有腾讯QQ、MSN-Messager等等。
即时通讯软件,是每一个上网用户都需要的工具,它除了能够让您迅速地在网上找到自己的朋友和伙伴之外,还可以实时交谈和传递信息,截止到目前,全球约有近3亿多人使用即时软件,正因为即时通讯软件拥有数以亿计的用户和增长的市场,所以各个公司都盯上了这个最大的市场,一时间,即时通讯市场硝烟四起。
对等网络(peer-to-peer,简称P2P),应用最初出现时和现在并不相同。
事实上可以认为它是若干不同技术以及流行趋势相结合的产物。
以下是导致P2P技术发展最重要的趋势:首先,一些新技术与软件工程的结合,形成了一种将工作分散的趋势。
P2P计算正是这种分散工作趋势的结果。
其次,在企业应用集成等因素的驱动下,过去十年渐渐形成从集中的单机系统转向分布式系统。
然而随着互联网的发展,全面的分布式计算也就成为一种迫切需求。
关键词:局域网聊天 P2P javaAbstractWith the development of the Internet,the chat tool as a communication tool, has been popularly accepted by netizens of all ages. At present, there are many powerful chat tools, of which Tencent QQ, MSN-Messager are much more prevalent.Instant messaging software is necessary for every one who connects to the internet, which can not only provide you a prompt way to find friends and partners online, but can provide you the convenience of internet relay chat and information delivering. Up to now, there are about 300 million people using real-time software all over the world. As more and more corporations have focused on this market with growing potential, which has hundreds of millions of uses, the competitions among these corporations are extremely fierce.The initial application of peer-to-peer network (peer-to-peer, referred to as P2P) is not the same as it is now. In fact, it can be regarded as a combination of different technologies and fashion trends. Below are the most important trends that have led the development of P2P technology: First of all, the integration of software engineering and new technologies led to a working dispersion trend. As a result, P2P computing was born. Then, in the past decade, it has turned fro m a single centralized system to distributed system due to the motivation of factors such as enterprise application integration. At last, with the development of the Internet, however, a comprehensive distributed computing has become an urgent need.Keywords:LAN chat P2P java目录摘要 (i)Abstract ..................................................................................................................................... i i 1绪论 . (1)1.1JAVA的网络功能与编程 (1)1.1.1JAVA概述 (1)1.1.2 JAVA的特点 (3)1.1.3 JAVA语言在网络上的应用 (5)1.2J AVA B EANS技术 (6)1.3IP/TCP协议常识 (6)1.4S OCKET的简介 (7)1.5对等网络 (8)1.5.1 对等网络发展历史 (8)1.5.2 对等网络的概念 (9)1.5.3 对等网络的主要系统结构 (9)2 JAVAqq局域网聊天程序的需求分析 (13)2.1课题来源 (13)2.2需求分析 (13)3 JAVAqq局域网聊天程序的系统分析与设计 (15)3.1JAVA QQ局域网聊天程序的总体设计要点 (15)3.2JAVA QQ局域网聊天程序的设计步骤及功能模块划分 (15)3.3JAVA QQ局域网聊天程序各功能模块 (16)4 JAVAqq局域网聊天程序的设计与实现 (24)4.1开发环境工具 (24)4.2硬件环境 (24)工程技术学院毕业设计(论文)专用纸4.3聊天系统功能模块的测试 (24)结论 (27)致谢 (29)参考文献 (30)附录 A 程序源代码 (31)1绪论随着互联网逐步普及,互联网技术的逐步提高。
Java网络聊天室报告
Java网络聊天室课程报告1系统开发的意义及需求分析1.1整体思路该C/S模式的聊天系统,就是服务器来提供服务端连接响应,客户端主动的发起连接请求。
当多个用户同时连接到服务器时,经由服务器的接收与转发便可以实现客户之间的通信。
对于整体系统的流程,也是分为两部分,即客户端的发起请求,服务器响应请求。
首先是客户端设置所想要连接的服务器,然后客户端就会根据设置的服务器IP地址,向服务器发起建立连接请求。
而服务器端是始终在监听网络状态的,主要检测到有一个连接请求,那么服务器就会给当前的发起端分配一个服务线程,用于处理它的各种请求。
1.2功能需求分析实现网络聊天的功能,采用Windows Socket(或Java Socket)编程,服务器与客户端采用了TCP/IP连接方式,在设计聊天方案时,可将所有信息发往服务器端,再由服务器进行处理,服务器端是所有信息的中心。
聊天系统不外乎两个方面,服务器端和客户端。
简单分析一下两个方面所要完成的任务。
服务器端的任务包括:1、服务器端应当建立一个ServerSocket,并且不断进行侦听是否有客户端连接或者断开连接。
2、服务器端应当是一个信息发送中心,所有客户端的信息都传到服务器端,由服务器端根据要求分发信息。
以上就是服务器端最主要的两个任务。
不难看出,服务器端的任务并不复杂。
客户端应该完成的任务包括:1、与服务器端建立通信通道,向服务器端发送信息。
2、接收来自服务器的信息。
相对服务器而言,客户端的任务更加简单,有了以上的简单分析,可以知道,解决上述四个问题,即完成了该聊天系统的核心。
2.系统分析与设计方案2.1开发环境及工具本系统所用的工具:服务器端:(Windows平台)首先应有java环境jdk,建议采用jdk1.4.2;Eclipse。
客户端: java环境jdk,建议jdk1.4.2;Eclipse。
本系统运行所需用到的环境为:硬件配置:中央处理器(CPU):P4 2.0G以上的处理器;硬盘:40GB以上硬盘;内存:256以上的DDR内存;显卡:128M以上显存显卡软件配置:WINDOWS 7 版本、All-In-One-Eclipse-311、j2sdk-1.42等。
局域网聊天系统设计报告
局域网聊天系统设计报告题目局域网聊天系统班级:学号:姓名:完成时间:2015 年10 月目录第一章引言 ............................................................................................................................. - 2 -1.1开发背景 ...................................................................................................................... - 2 -1.2需求分析 ...................................................................................................................... - 2 - 第二章系统设计 .. (3)2.1 功能设计 (3)2.2 系统架构 ..................................................................................................................... - 5 -2.3 模块设计 (3)2.4 流程(或算法)设计 (5)2.5 类与接口设计 (5)第三章系统实现 (7)3.1 管理子系统 (7)第四章设计总结 (10)参考文献 (10)附录(核心代码) (11)局域网聊天系统第一章引言本文围绕Java编程语言在网络编程方面的具体应用,论述了使用面向对象方法,对局域网聊天程序进行需求分析、概要设计、详细设计,最后使用Java 编程实现的全过程。
在编程我们使用的java语言,是目前比较流行的编程语言。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要随着计算机网络技术的发展,各种各样基于网络的应用也随之诞生,比如基于互联网的信息发布,通信,数据共享等等。
局域网的发展也同样迅速。
很多政府机构,企业,学校,都是先以一个统一的局域网联结在一起,再分别接入INTERNET.因此基于局域网的即时通信工具,就这样应运而生了。
本文利用JA V A的UDP编程以及SWING图形界面编程技术,在WINDOWS平台上实现了具有美观图形界面的局域网聊天软件.在本实现内将客户端和服务端综合在一个程序之内,用多线程实现不同的并行任务。
并模仿国内的QQ进行了人性化的界面设计,使用起来更加简单方便,并且功能十分合理、实用。
通过本局域网聊天软件可以实现一对一、一对多的聊天,可以实现不同用户不同的文字字体、风格、大小、颜色的发送和显示,提供发送表情、文件、好友间的抖动提示以及聊天记录的管理等功能。
关键词:局域网聊天;JA V A网络编程;UDP;多线程LAN Chat System Development based on JAVAAbstractWith the development of computer network technology, various kinds of applications based on network were born, such as the release of information, communication, data sharing based on the Internet and so on. The development of the LAN is also quick. Many government agencies, enterprises, schools, is the first in a unified network linked together, each with access to INTERNET. Thus Instant Communication Tools based on LAN were born. In this paper, by using JA V A UDP programming and SWING graphical interface programming technology, we can get a LAN chat software with beautiful appearance on the WINDOWS platform.In the implementation, the client and the server were integrated within a program, implemented with multithreading. And imitating the domestic QQ interface humanization design, using more simple and convenient, and the function is very reasonable, practical.Through our LAN chat software can achieve one to one, one to many chat, send different users’ different text font, style, size, color and display, provide the send of expression, file, the shake among friends and chat records management and other functions.Keyword: LAN Chat;JA V A network programming;UDP; multi-thread目录摘要 (I)Abstract ............................................................................................................................................. I I 第一章前言 (1)第二章系统可行性分析 (2)2.1 成本可行性分析 (2)2.2 技术可行性分析 (2)第三章需求分析 (3)3.1 功能需求分析 (3)3.2性能需求分析 (3)3.3 系统主要技术分析 (3)3.2.1 JAVA DatagramSocket (3)3.2.2 JAVA MulticastSocket (4)3.2.3 JAVA Swing (5)3.4 系统开发、运行环境分析 (5)第四章系统概要设计 (6)4.1 系统功能模块设计 (6)4.2 系统数据流图 (9)第五章系统详细设计 (10)5.1 详细设计概述 (10)5.2 系统详细设计 (10)5.2.1登陆界面 (10)5.2.2用户主界面 (14)5.2.3聊天界面 (16)5.2.4辅助工具类 (19)第六章系统实现 (21)6.1 总体工程架构的实现 (21)6.2 具体功能实现 (21)结论 (24)参考文献 (25)第一章前言第一章前言近年来,随着全球信息化进程的不断发展,网络也在飞速发展。
出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。
在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。
然而,随着企业规模的扩大,业务量的增加,在局域网上运行的应用越来越多,如知识库、网络会议、数据库应用和数据的同步与备份等,这些应用对局域网的信息吞吐、处理能力的要求也越来越高。
这些在企业内部原有局域网设计之初未曾考虑到的新情况的出现使得局域网不堪重负,容易发生信息阻塞,此时,局域网不但不能提高生产效率,反而成为企业发展的瓶颈。
为了解决上述矛盾,人们提出了许多方法。
提升网络带宽及增加服务器的吞吐能力是解决此矛盾的一种方法。
然而,从企业运行的成本方面考虑,无论是单纯地提升网络带宽或增加服务器的吞吐能力都不能从根本上解决局域网资源紧张的问题,对旧有局域网的大规模硬件改造反而会增加企业的负担。
我在本文中将讨论一种基于DatagramSocket和MulticastSocket的局域网通信工具的设计与实现方法。
基于DatagramSocket和MulticastSocket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制。
它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。
基于DatagramSocket和MulticastSocket的局域网聊天工具是此类局域网通信软件的具体实例之一,它很好地诠释了DatagramSocket和MulticastSocket 通信的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。
它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。
基于DatagramSocket和MulticastSocket的局域网通信软件应用范围广阔,不但可以处理传统的通信需求,而且也能扩展以适应新型的网络应用,如网络教育,数据影音传输等,拥有广泛的应用前景。
第二章系统可行性分析第二章系统可行性分析可行性分析是基于客观的、科学的,其在整个系统的设计与实现过程中有非常重要的意义,软件可行性分析的目的是用合适的代价解决足够的问题,其最终结果是对所设想的项目做出实施还是放弃。
本局域网聊天系统将从成本和技术可行性进行分析。
2.1 成本可行性分析因为本软件只做开发学习使用,所以暂且不考虑经济成本及盈利问题。
2.2 技术可行性分析首先我已经搭建好开发所需要的软硬件平台,并进行了合理而完善的需求分析,做好了充分的前期准备工作,其次因为本程序的平台将基于WINDOWS,将要使用网络通信技术,而WINDOWS有完善成熟的网络通信接口,以及与VC 开发环境的严密契合能力,加之相类似的更大规模的INTERNET通信工具产品也已有例在先,所以这个程序的开发可行性在技术上是完全可行的。
第三章需求分析3.1 功能需求分析(1)用户端之间的信息发送,本程序需要实现的最基本的功能;(2)当有用户下线后,应在所有在线的用户的“在线用户列表”中消掉下线人的信息记录;(3)在聊天是还应提供一些使用的辅助功能,在本局域网的聊天软件中,提供有字体设置、表情发送、文件发送、窗口抖动、消息记录管理等常用功能,能够满足用户的基本要求。
3.2性能需求分析首先要求程序要完全可靠,可以应付种种由于系统问题产生的错误,比如初始网络失败,对方突然下线等。
要求提前设想到类似的尽可能多的可能发生的事件,做出相应的应对措施,并向用户提交简单易懂清晰明白的提示信息。
程序要有良好的容错性,当用户进行非法操作时或者系统本身出现问题时要能以最好的方式退出程序,避免发生程序假死现象。
要求程序对所运行之系统的硬件条件要求尽可能低,运行时内存占用尽可能小,响应速度要尽可能快。
并且不发生内存泄漏之类影响系统运行的错误事件。
并且要求易于维护及扩展。
所以应该采用模块化开发,各个模块之间不要有太多的联系,以免维护困难。
3.3 系统主要技术分析3.2.1 JAVA DatagramSocket1.基本概念:a.DatagramPacket与DatagramSocket位于包中b.DatagramPacket表示存放数据的数据报,DatagramSocket表示接受或发送数据报的套接字c.由这两个类所有构成的网络链接是基于UDP协议,是一种不可靠的协议。
注:为了解决UDP协议的不可靠问题,在软件的聊天的文件传输功能部分自定义了一套接收数据的规则,使得通过UDP协议传输文件不会出错。
2.使用方法:DatagramSocket():创建实例。
通常用于客户端编程,它并没有特定监听的端口,仅仅使用一个临时的。
DatagramSocket(int port):创建实例,并固定监听Port端口的报文。
DatagramSocket(int port, InetAddress localAddr):这是个非常有用的构建器,当一台机器拥有多于一个IP地址的时候,由它创建的实例仅仅接收来自LocalAddr的报文receive(DatagramPacket d):接收数据报文到d中。