基于JAVA的多人聊天室的系统设计

基于JAVA的多人聊天室的系统设计

2018年第1期

时代农机

TIMES AGRICULTURAL MACHINERY

第45卷第1期Vol.45No.1

2018年1月Jan.2018

作者简介:任琴(1989-),女,宁夏西吉人,大学本科,助教,主要研究方向:基础电类教学研究。

基于JAVA 的多人聊天室的系统设计

琴,孔令慧,秦

(,430075)

摘要:在网络越来越发达的今天,人们越来越依赖于网络,越来越离不开网络,由此而产生的聊天工具越来越多,

类似QQ 、MSN ,网络聊天一类的聊天系统发展日新月异。为了更好充实人们的生活,特做此系统满足人们在日常生活的需要和需求,也为了满足人们在信息流通方面的方便,使人们更能分享互联网上的资源,使网络的意义更能充分体现。

关键词:聊天;网络

1开发平台简介

本聊天室的开发是在JAVA 的平台上实现的,Java 语言是一种适用于网络编程的语言,它的基本结构与C++极为相似,但却简单得多。它集成了其它一些语言的特点和优势,又避开了它们的不足之处。本次系统开发选用的操作系统是Windows XP;开发工具为MyEclipse 7.0+命令窗口;语言程序主要是JAVA 语言;Java 版本为Java jdk1.6集合jre6。

2聊天室的系统设计

在Internet 上的聊天程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP 环境下,实现服务器端和客户端两部分程序,服务器端和客户端通讯流程如1所示,工作原理如图2

所示。

图1通信流程

(1)服务器端工作流程:服务器端通过socket ()系统调用创建一个Socket 数组后(即设定了接受连接客户的最大数目),与指定的本地端口绑定bind (),就可以在端口进行侦听listen ()。如果有客户端连接请求,则在数组中选择一个空

Socket,将客户端地址赋给这个Socket。然后登录成功的客户就可以在服务器上聊天了。

(2)客户端工作流程:客户端程序相对简单,只需要建立一个Socket 与服务器端连接,成功后通过这个Socket 来发送

和接收数据就可以了。

图2客户端与服务器端的工作原理流程

(3)聊天室的功能简介。①客户端功能:a.登录;b.注册;c.公共聊天;d.悄悄话;②服务器端功能:a.监听;b.踢人;c.帮助;d.开启/关闭服务器。

3结语

该聊天系统利用基于TCP 协议的Socket 和多线程技术能够很好地实现基本功能,它采用了典型的C/S 架构,系统着重研究并实现了网络应用的部分。根据实现的情况看,基本满足了结构化、界面友好、速度快、安全性以及稳定性等特点,其功能也符合用户基本需求,具有较友好的聊天界面生成效果,以及流畅的网络通信效果。

目前本聊天系统还有待完善的功能如下:①没有实现文件传输的功能,这个对于人们越来越高的需求方面还是一个

缺陷。②注册界面相对比较单一,不够详细,不能选择头像、注册性别、个性签名等等。③聊天内容不能保存,退出聊天室之后就找不到之前的聊天内容,如果在聊天过程中有比较重要的内容需要更慎重的记录。④不能像QQ 那样发送图片表情,而且随意添加在聊天内容的任何位置。

142

JAVA聊天室系统的设计与实现

目录 第1章绪论- 1 - 1.1论文背景及课题来源 (1) 1.2本课题在国内外的发展状况 (1) 1.3应解决的问题及系统开发意义 (1) 第2章开发工具及相关技术介绍........................................................................................................... - 2 - 2.1J A V A与S OCKET简介 .. (2) 2.2JB UILDER5介绍 (3) 2.3C/S模型介绍 (3) 2.4用J A V A实现S OCKET模型 (4) 2.5J A V A中的线程模型简介 (5) 2.6SQL SERVER2000简介 (5) 第3章系统需求分析............................................................................................................................... - 6 - 3.1系统任务描述. (6) 3.2系统功能分析 (6) 3.2.1 系统的功能需求....................................................................................................................... - 6 - 3.2.2系统数据流图............................................................................................................................ - 7 - 3.2.3系统数据分析............................................................................................................................ - 8 - 3.3系统可行性分析 (9) 第4章系统设计 .................................................................................................................................... - 11 - 4.1系统总体结构设计 (11) 4.2数据库设计 (12) 4.3系统功能模块详细设计 (13) 第5章编码与实现 ................................................................................................................................ - 16 - 5.1系统主要模块代码 (16) 5.1.1启动、停止服务器.................................................................................................................. - 16 - 5.1.2客户端连接服务器.................................................................................................................. - 17 -

java课程设计报告(java聊天室)

Java聊天室课程设计 一、需求分析 1.1开发背景 在信息化社会的今天,网络飞速发展,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似MSN、QQ,网络聊天时一类的聊天系统的发展日新月异,因此产生了制作一个类似QQ的网络聊天工具的想法,且通过制作该程序还能更好的学习网络软件编程知识。 网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也得到响应的服务。 1.2设计要求 本课程设计的目标是利用套接字socket()设计一个聊天程序,该程序基于C/S模式,客户机器向服务器发聊天请求,服务器应答并能显示客户机发过来的信息。 1.3设计目的 通过设计一个网络聊天程序,对套接字、数据报通讯、URL、与URLConnectiom的相关知识有详细的了解和充分的认识。能将相关的只是运用到相关的实践中去。 1.4功能实现 聊天室共分为客户端和服务端两部分,服务器程序主要负责侦听客户端发来的消息,客户端需要登录到相应的服务器才可以实现正常的聊天功能。 服务器的主要功能有 1)在特定端口上进行侦听,等待客户连接 2)用户可以配置服务器的真挺端口

JAVA聊天室实验报告

JA V A聊天室实验报告 姓名:马琳越 班级:131114 学号:13111368 日期:2014年4月23日

目录 目录 (2) JA V A程序课程设计任务书 (3) 摘要 (4) 第1章引言 (5) 第2章聊天室系统的设计 (7) 第3章界面设计 (11) 第4章总结 .................................................................................. 错误!未定义书签。

Java聊天室的设计任务书 1.主要内容 用JA V A实现基于C/S模式的聊天室系统。聊天室分为服务器端和客户端部分,服务器端程序主要负责侦听客户端发来的信息,客户端需要登陆到服务器端才可以实现正常的聊天功能。 2.具体要求 A.服务器端主要功能 (1).在特定端口上进行侦听,等待客户端连接。 (2).用户可以配置服务器端的侦听端口,默认端口为8888。 (3).向已经连接到服务器端的用户发送系统消息。 B. 客户端主要功能 (1).连接到已经开启聊天服务的服务器端。 (2).用户可以配置要连接的服务器端的IP地址和端口号。 (3).用户可以配置连接后显示的用户名。 (4).用户可以向所有人或某一个人发送消息。 3.主要参考文献及运用工具 (1)Bruce Eckel 著Thinking in Java ,李刚著疯狂Java讲义 (2)使用技术:Java 使用开发工具:Eclipse

摘要 在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的OICQ。基于Java网络编程的强大功能,本次大作业要求使用Java编写一个聊天系统。 一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,但是,由于自己数据库知识的部分遗忘,本程序未连接数据库,采用客户机/服务器架构模式,通过Java提供的Soket类来连接客户机和服务器并使客户机和服务器之间相互通信。 本系统建立在JAVA平台上,系统的设计使用了面向对象技术和面向对象的设计原则。系统采用C/S结构,客户端与客户端以及客户端与服务器端之间通过Socket传送消息。使用JAVA语言编写,开发工具采用Eclipse。服务器端设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不同的线程,执行不同的任务。大大增强了程序对服务器资源的利用。 聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息等等功能。

Java聊天室系统程序设计实验报告材料

Java聊天室系统程序设计 实验报告 院(系):信息与通信工程系 专业:计算机应用技术 班级: 学号: 姓名: 指导老师: 2013/6/8

目录 第一部分:系统设计总述 (2) 1.设计目的: (2) 2.设计总体要求: (2) 3.实现目的: (2) 第二部分:系统需求分析 (3) 1.系统任务描述 (3) 2.系统功能分析 (3) 3.系统可行性分析 (3) 第三部分:系统设计 (4) 1.系统总体结构设计 (4) 2.系统主体的处理流程 (5) 3.系统流程逻辑 (5) 第四部分:代码分析 (6) 1.服务器端部分代码 (6) 2.客户端部分代码 (6) 第五部分:系统的具体实现 (6) 界面设计 (6) 第六部分:小结 (10) 第七部分:参考文献 (10)

1.设计目的: 1.在开发技术和过程中,能够充分学习和使用JAVA的技术,进一步培养学生面向对象程序 设计的思想,加深对面向对象程序设计特性的理解。 2.学会Java程序开发的环境搭建与配置,并在实际运用中学习和掌握Java程序开发的全 过程。 3.进一步熟悉掌握Java程序设计语言的基础内容,如用户图形界面设计、文件和网络输入 输出流编程、Java数据库编程等。 4.通过亲自动手写程序,一方面拓展知识面,一方面锻炼调试能力。 2.设计总体要求: 1.问题的描述与程序将要实现的具体功能。 2.程序功能实现的具体设计思路或框架,并检查流程设计。 3.代码实现。 4.程序测试。 5.设计小结(包括) 3.实现目的: 本软件是一个实用聊天程序。项目要实现以下目标: 1)建立服务器端和客户端并进行连接; 2)利用线程设计结构合理,运行效率较高的聊天室; 3)实现写消息,发消息,回复,查看聊天记录等功能;

Java聊天室课程设计报告

UML课程设计 题目网络聊天程序开发设计与实现 学号:201515614376 姓名:卫国辉 指导教师: 完成时间:2017年 12月

目录 1.摘要 (2) 2.绪论 0 2.开发环境 0 3.需求分析 (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聊天程序。将所学的基本知识用到其中去,这里包括了构造方法,创建图形界面,引用类等等。这不仅能锻炼我的实践能力,同时也进一步复习和巩固了我所学的理论知识。对以前没有学好的还有督促和促进作用。而且,根据需要,还可以了解一些课外的知识。增加自己的知识面。 2.开发环境 在开发此聊天程序时,该项目所使用的软件开发环境如下: 操作系统:Windows 7 开发工具:eclipse3.2及其VE插件

Java聊天室程序设计报告

计算机与信息科学系 课程设计报告 课程名称:面向对象程序设计—Java 设计题目: Java聊天室程序 专业: 学号: 姓名: 指导老师: 提交时间:2009-6-20

目录 第一章可行性分析报告 (3) 1.1 引言 (3) 1.1.1 编写目的 (4) 1.1.2项目背景 (4) 1.1.3参考资料 (4) 1.2 可行性分析 (5) 1.2.1系统简要描述 (5) 1.2.2系统流程图 (5) 1.2.3经济可行性分析 (5) 第二章需求规格说明书 (7) 2.1 编写目的 (8) 2.2 数据描述 (8) 2.2.1文字叙述 (9) 2.2.2系统数据流图 (9) 2.3 功能划分 (9) 第三章概要设计说明书 (9) 3.1 总体设计 (9) 3.1.1总体结构设计 (9) 3.2.接口设计 (11) 3.3 数据结构设计 (11) 3.3 运行设计 (12) 3.4 维护设计 (12) 第四章详细设计说明书 (12) 4.1 总体设计 (12) 4.1.1需求概要 (13) 4.1.2软件结构 (13) 4.2 模块程序流程 (13) 4.2.1用户登录模块 (13) 4.2.2注册模块 (14) 4.2.3系统总体流程图 (15) 第五章编码测试与实现说明 (15) 5.1 功能模块的测试 (15) 5.2 工作的过程 (16) 5.3 软件设计效果 (16) 第六章设计问题总计 (19) 第七章总结 (19)

可行性分析报告 1.引言 1.1编写目的:可行性研究的目的是为了对问题进行研究,以最小的代价在最短时间内确定问题是 否可解。经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要 面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经 济效益。本报告经审核后,交软件经理审查。 1.2 项目背景: 开发软件名称:Java聊天室小软件 项目任务提出者:**高校 项目开发者:***软件开发小组 用户:**高校 实现软件单位:**高校 项目与其他软件,系统的关系: 开发环境:本项目采用客户机/服务器原理,服务器端采用Windows XP为操作系统的工作站,客户端的程序是建立在Window XP系统上,在JDK1.5上开发,JAVA程序工程采用JCreator、Elipse 为编程工具进行开发。 1.3定义: 事务流:数据进入模块后可能有多种路径进行处理。 主键:数据库表中的关键域。值互不相同。 外部主键:数据库表中与其他表主键关联的域。 1.3.2 缩写 系统:若未特别指出,统指本聊天室系统系统。 1.4 参考资料: 1.《软件工程导论》(第5版)张海藩清华大学出版社 2,《面向对象程序设计–JAVA》第二版张白一编著 3.《Java语言与面向对象程序设计》(清华大学出版)印雯编著 2.可行性研究的前提 2.1 要求 ●主要功能: (1)可以实现群聊的功能 (2)可以实现对注册人员的管理。 ●性能要求:注册人员变动的信息必须在允许的时间内反映在各个客户端,对注册人员的信息必 须无差错的存储在服务器上。对服务器上的数据必须进行及时正确的刷新。 ●输出要求:数据完整,详实。

JAVA聊天室课程设计报告含源代码压缩文件

J A V A聊天室课程设计报 告含源代码压缩文件 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

南京晓庄学院 《JAVA程序设计》 课程设计报告 题目: 姓名: 学号: 班级: 14软件工程3班 指导教师: 王峥 完成时间 成绩: 信息工程学院 2016年6月

目录 Java聊天室的设计与实现 引言 Java聊天室开发背景 在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似QQ、MSN,网络聊天时一类的聊天系统的发展日新月异,因此产生了制作一个有简单聊天功能的网络聊天程序;而且通过制作该程序还能更好的学习网络软件编程知识。 本程序设计简单可以实现在同一局域网的聊天,程序可以自动扫描已经上线的用户,上线用户可在同一聊天界面中实现群聊。如果需要与其中的用户进行交谈,则只需双击右侧用户列表,读取对方IP地址,便可在下面的输入框内输入信息进行发送,实现一对一私聊功能。 1.1Java聊天室开发的目的和意义 目的:(1)理解进程消息通信的概念,如何实现两个创建进程之间的数据传递。 (2)理解进程共享变量的进程通信。 (3)熟悉并掌握java语言的代码编写 (4)熟练使用开发工具Eclipse (5)实现聊天室的一些基本功能 意义:(1)实现局域网中的信息交互,界面尽量人性化且美观,让用户便于接受

(2)用户及时获取自己想要的信息、促进交谈 (3)异常处理,对于用户错误的操作使用程序会有提示消息 (4)前期仅实现其基本雏形,后期可扩性很高,可实现统计在线人数,发送图片,界面美化,用户登陆注册信息的采集,连接到数据库etc. (5)后期可便于网站自身的广告宣传与商品推广 因所学知识和能力的局限性,仅能完成有限范围内的雏形生成与功能实现,后期的功能实现需要进一步的深入学习才能使本课程设计日益完善。 1.2完成的主要工作 (1)需求分析与总体设计、详细设计、代码分析 (2)实现程序所能运行的功能 (3)选择Window系统,并选择该操作系统中一种进程通信的方式。 (4)运用Eclipse开发工具和java语言实现该应用程序。

JAVA实训评测报告--聊天室

《Java实训》设计报告 电子信息项目学院 专业:软件技术 班级:1班 实训:聊天室

系统总体设计 1、设计思路 聊天系统的设计跟普通网站设计有着许多不同的地方,普通网站设计所考虑的因素,例如,普通网站需要对布局进入大量美化以及动画设计等等,而聊天室只要提供满足访客双方直接实时聊天即可。因此,在设计聊天系统的过程中,必须要考虑好以下几个设计要点: 在Internet上的聊天程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。 1.首先通过继承JFrame类构造服务器界面。 2.设计客户端程序使其能够完成正常的通信功能。 3.设计监听程序,使其显示登录的ip地址端口号,以及用户昵称,通过侦听按钮可以调用客户端程序,实现聊天功能。 2、各个模块详细的功能描述。 1、服务器端功能描述: 启动服务器端。 2、客户端功能描述: 启动客户端; 显示登录昵称: 显示聊天记录: 发送信息; 退出聊天室。 系统详细设计 1、界面设计 主要由类ChatRoom来实现,界面实际总体如下:输入昵称的文本框,输入IP地址的文本框以及输入端口的文本框;连接的按钮;退出按钮;接受消息的文本域;发送消息文本框;发送按钮。项目设计

在设计聊天室时,编写3个Java源文件:Client.java、Frame1.java、ServerThread.java; 分别放在两个包中,一个是client,放Client.java、Frame1.java;一个是server,放ServerThread.java;聊天室除了上述Java源文件所给出的类外,还需要Java系统提供的一些重要类,如JButton,JTextField等。 下面是Java源文件的总体设计。 Client<主类)客户端 Client类负责创建聊天室客户端的主窗口,该类含有main方法,计算器从该类开始执行。 ServerThread<主类)服务器 ServerThread类负责创建聊天室服务器的主窗口,该类含有main方法,计算器从该类开始执行。 二详细代码设计 聊天室程序设计详细代码如下: 客户端代码: package client。 import javax.swing.UIManager。 publicclass Client { public Client(>{ Frame1 frame=new Frame1(>。 frame.setVisible(true>。 frame.validate(>。 } publicstaticvoid main(String[] args>{ try{ UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(>>。 }catch(Exception e>{ e.printStackTrace(>。 } new Client(>。 } } package client。 import java.awt.*。 import java.awt.event.*。 import javax.swing.*。 import https://www.360docs.net/doc/f25287548.html,.*。

java大作业设计报告-JAVA聊天室

JAVA程序设计多人聊天室

1设计目的 Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和静态的语言。本次课程设计旨在应用JAVA编程语言中的网络通信,多线程,数据库编程,图形界面编程等技术实现一个基本的多人在线网络聊天室。并以此巩固JAVA基础知识,体会面向对象的设计方法。 2平台要求 2.1使用: 搭载JAVA运行环境的平台即可。 2.2开发环境: Windows10 64bit JDK Eclipse Window Builder 3需求分析 管理员:启动服务器,关闭服务器,强制用户退出,聊天房间增添改查。 用户:GUI,注册,登陆,聊天等。 用例图:

System User Administrator Server Client Database House delete or add User logout Login and logout Chat Enter and leaveHouse User Info get and set Sign Up Start up server 4 概要设计 4.1 服务器设计 将客户端的请求抽象化,每种请求服务器都会产生一个特定的类的对象去处理它。服务器负责接受客户端请求,根据请求内容完成指定工作。为提高效率,采用多线程结合线程池设计技术,对于每个请求在线程池内得到一个线程去处理请求。如图3-1所示。 4.2 客户端设计 聊天室中一个事物的过程基本流程是:用户产生动作,客户端发送消息,服务器接收并处理,服务器返回处理结果,GUI 根据结果进行显示的更新。客户端

java局域聊天室实践总结

河北科技师范学院 JA V A程序设计课程设计 个人实习总结 实习类型课程设计 实习单位 指导教师 所在院(系)信息技术系 班级 姓名 学号_

一、实习时间和地点 时间:2015.3.17-2015.4.14 地点:F310、F311 二、实习的内容 我所开发的系统是:局域网聊天系统。系统功能简要说明如下: 该程序实现局域网内的聊天功能,包括服务器端程序和客户端程序两部分。1、服务器:负责处理各个客户端的信息,并负责将信息进行转发。①服务器主要负责响应客户端的的各种信息,包括链接服务器,用户信息发送,各个客户端的信息相互转发。②服务器的实现有Server类,Server类主要是进行初始化的工作2、客户端:用户使用界面,负责接受信息以及与服务器进行通信。①客户端负责为用户提供聊天界面,将信息发送至服务器,接受服务器的反馈信息等一系列的工作。②客户端的实现有Client类,Client类负责与服务器,其它客户端进行通信。 1.连接:点击“连接”按钮之后将信息发送到服务器端,服务器端创建相应的连接,并将更新后的用户列表发送给所有用户。 2.发送:根据发送者、发送对象、发送的话创建一个字段发送到服务器端。 3.清空:清空客户端接收信息聊天对话框。 4.私聊TA:选择在线主机ip,根据ip地址发送一个私密聊天请求到服务器,服务器选择相

应的地址进行信息发送。本程序可以有多个用户,只需在一台服务器上运行服务端程序,所有的用户连接上了之后就可以正常通信。 人们日常生活中越来越多地使用聊天室这项应用来为自己的工作和学习服务。一个操作简单,界面友好、运行稳定的聊天室对于小型局域网的用户可以起到很好的交流作用。所谓聊天室就是一个可以让许多用户同时互相通信的网上园地,个人用户可以通过聊天室将自己融入整个主流社会中。因此我们这个聊天室选择了简洁的界面搭建。因为之前学过JFrame类的使用,所以界面搭建部分代码如下: public class TCPClient extends JFrame { public static String olip; private static final long serialVersionUID = 1L; JTextArea jtaContent = new JTextArea(); JTextField jtaInstant = new JTextField(); JButton jbSend = new JButton("发送"); JButton jbConnect = new JButton("连接"); JButton jbClear = new JButton("清空"); JLabel jlTip=new JLabel("在线主机"); JButton jbPChat=new JButton("私聊TA"); JPanel jpBtns = new JPanel(); JPanel jpContact=new JPanel(); public void launchFrame() { jtaContent.setEditable(false); jpBtns.setLayout(new GridLayout(1, 3, 5, 5)); jpBtns.add(jbConnect); jpBtns.add(jbSend); jpBtns.add(jbClear); jpBtns.setBounds(0, 375, 350, 30); JScrollPane jspText=new JScrollPane(jtaInstant); jspText.setBounds(0, 310, 350, 65); JScrollPane jspContactOL=new JScrollPane(jcbContact); JScrollPane jspContent=new JScrollPane(jtaContent); jspContent.setBounds(0, 0, 350, 300); jpContact.setLayout(new GridLayout(5, 5, 1, 3)); jpContact.add(jlTip); jpContact.add(jspContactOL); jpContact.add(jbPChat); jpContact.setBounds(350, 0, 135, 220);

java大作业设计报告-JAVA聊天室

JAVA程序设计 多人聊天室 : ? #

1设计目的 Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和静态的语言。本次课程设计旨在应用JAVA编程语言中的网络通信,多线程,数据库编程,图形界面编程等技术实现一个基本的多人在线网络聊天室。并以此巩固JAVA基础知识,体会面向对象的设计方法。 2》 3平台要求 3.1使用: 搭载JAVA运行环境的平台即可。 3.2开发环境: Windows10 64bit JDK Eclipse ¥ Window Builder 4需求分析 管理员:启动服务器,关闭服务器,强制用户退出,聊天房间增添改查。 用户:GUI,注册,登陆,聊天等。 用例图:

System User Administrator Server Client Database House delete or add User logout Login and logout Chat Enter and leaveHouse User Info get and set Sign Up Start up server 5 概要设计 5.1 服务器设计 ? 将客户端的请求抽象化,每种请求服务器都会产生一个特定的类的对象去处理它。服务器负责接受客户端请求,根据请求内容完成指定工作。为提高效率,采用多线程结合线程池设计技术,对于每个请求在线程池内得到一个线程去处理请求。如图3-1所示。 5.2 客户端设计 聊天室中一个事物的过程基本流程是:用户产生动作,客户端发送消息,服务器接收并处理,服务器返回处理结果,GUI 根据结果进行显示的更新。客户端只在GUI 中采用多线程设计。而对服务器回应的接受都是单线程的因为只有一个服务器为自己服务,且在接收数据过程中连接是不可断开的。客户端的设计如图3-2所示。一次事物流程中的步骤编号在图中给出。

java聊天室设计总结

JAVA聊天室程序设计总结 大二第一学期末我们进行了为期两周的java实习,这次的实习内容是设计一个多人聊天室。在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似QQ、MSN,网络聊天时一类的聊天系统的发展日新月异,因此老师布置了制作一个有简单聊天功能的网络聊天程序的课程;而且通过制作该程序还能更好的学习网络软件编程知识。 一、设计内容 利用java语言实现聊天室程序。聊天室分为服务器端和客户端两部分,服务器端程序主要负责侦听客户端发来的消息,客户端需登录到服务器端才可以实现正常的聊天功能。设计的聊天室能实现用户登录,显示登录用户列表,以及发送聊天信息和显示聊天信息的功能。并可以选择接收信息的用户进行单发或群发的功能,运行程序,登录服务器后,可以从列表中选择单个或多个用户进行聊天,它是图形界面,线程,流与文件系统等技术的综合应用。 二、实现功能 1、启动服务器端,接收客户端发来的信息,并在服务器端窗体显示客户端聊天信息,再吧信息返给在线用户。 2、启动客户端,进入客户端页面,输入用户名,点击登录按钮,在显示在线用户列表内显示用户名。 3、发送编辑框输入发送内容,单击发送按钮,启动输出流,把信息发送出去,同时把发出的信息追加到聊天内容文本域内,显示用户名,时间和发送内容。 4、聊天信息文本域,在线用户显示域和发送信息的文本域加了滚动条,其中聊天信息文本域,发送信息的文本域的文字能自动换行。 5、别的客户端发来信息是通过输入流读取信息,并截取发来信息的用户名及信息,用户名加到在线用户列表上显示在线,信息追加到聊天内容文本域内,显示用户名,时间和发送内容。 三、设计收获 这是大学以来第一次自主设计一个聊天程序,于我来说还是很有新鲜感但同时也有着稍许担心。通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,在设计的过程中我遇到了很到问题,但经过一次又一次的思考,一遍又一遍的检查和在老师、同学们的帮助下,慢慢的走上了成功之路,同时也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。这次课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无限

JAVA课程设计实验报告-“聊天室”报告

中南大学 《面向对象》课程设计 题目“聊天室”课程设计(java语言)学生姓名 学生学号 专业班级 指导教师 完成时间

目录 第一章聊天室的描述-------------------------------------------31.1聊天室的设计要求-------------------------------------------------------------31.2聊天室的基本功能-------------------------------------------------------------31.3设计所用参考资料-------------------------------------------------------------6第二章聊天室的设计-------------------------------------------62.1聊天室的粗略设计分析-------------------------------------------------------62.2聊天室的具体设计分析-------------------------------------------------------7第三章聊天室的实现-------------------------------------------103.1聊天室所使用的类及功能的实现-----------------------------------------10第四章聊天室的运行-------------------------------------------30 第五章课程设计总结---------------------------------------------31 5.1开发中所遇到的问题-----------------------------------------------------------31 5.2问题分析与解决方法-----------------------------------------------------------32 5.3经验与教训------------------------------------------------------------------------32

java聊天室程序设计实验报告

JIANGXI AGRICULTURAL UNIVERSITY JAVA课程设计报告 题目:聊天室程序设计 学院: 姓名: 学号: 专业: 年级: 指导教师: 2011 年12 月

一、系统需求分析 1、课题背景 在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似QQ、MSN,网络聊天时一类的聊天系统的发展日新月异,因此产生了制作一个有简单聊天功能的网络聊天程序;而且通过制作该程序还能更好的学习网络软件编程知识。 本课程适用于软件工程等本科专业。参加本课程设计的学生,应当认真完成本课程设计的全部过程。并以最终课程设计成果来证明其独立完成各种实际任务的能力。从而,反映出理解和运用本课程知识的水平和能力。 2、功能要求 运用java程序编写聊天室,实现简单的聊天功能。它是图形界面,线程,流与文件系统等技术的综合应用。其界面主要采用了java.awt包,java.swing包以及java.util包等。程序实现了聊天室的基本功能,其中有: 1、启动服务器。 2、进入客户端界面。 3、登录聊天室。 4、发送信息(实现按回车键发送消息)。 5、关闭服务器。 3、运行环境 本程序基于java和UltraEdit开发环境,可以在一般的装有windows系统的主机上运行。 4、功能实现 1、采用套接字实现网络中的数据传输 2、尽量使用某个或某些应用层的协议实现系统的部分功能 3、系统设计规范合理,操作流程方便简单 二、系统总体设计 1、设计思路 聊天系统的设计跟普通网站设计有着许多不同的地方,普通网站设计所考虑的因素,例如,普通网站需要对布局进入大量美化以及动画设计等等,而聊天室只要提供满足访客双方直接实时聊天即可。因此,在设计聊天系统的过程中,必须要考虑好以下几个设计要点:在Internet上的聊天程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。 1.首先通过继承JFrame类构造服务器界面。 2.设计客户端程序使其能够完成正常的通信功能,并且可以更改背景颜色,设置字体颜色。3.设计侦听程序,使其显示登录的ip地址端口号,以及用户昵称,通过侦听按钮可以调用客户端程序,实现聊天功能。

JAVA聊天室课程设计报告含源代码压缩文件

南京晓庄学院 《JAVA程序设计》 课程设计报告 题目: Java聊天室的设计与实现 姓名: 戴佳伟 学号: 班级: 14软件工程3班 指导教师: 王峥 完成时间 成绩: 信息工程学院 2016年6月

目录 Java聊天室的设计与实现 引言 Java聊天室开发背景 在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似QQ、MSN,网络聊天时一类的聊天系统的发展日新月异,因此产生了制作一个有简单聊天功能的网络聊天程序;而且通过制作该程序还能更好的学习网络软件编程知识。 本程序设计简单可以实现在同一局域网的聊天,程序可以自动扫描已经上线的用户,上线用户可在同一聊天界面中实现群聊。如果需要与其中的用户进行交谈,则只需双击右侧用户列表,读取对方IP地址,便可在下面的输入框内输入信息进行发送,实现一对一私聊功能。 1.1Java聊天室开发的目的和意义 目的:(1)理解进程消息通信的概念,如何实现两个创建进程之间的数据传递。 (2)理解进程共享变量的进程通信。 (3)熟悉并掌握java语言的代码编写 (4)熟练使用开发工具Eclipse (5)实现聊天室的一些基本功能 意义:(1)实现局域网中的信息交互,界面尽量人性化且美观,让用户便于接受

(2)用户及时获取自己想要的信息、促进交谈 (3)异常处理,对于用户错误的操作使用程序会有提示消息 (4)前期仅实现其基本雏形,后期可扩性很高,可实现统计在线人数,发送图片,界面美化,用户登陆注册信息的采集,连接到数据库etc. (5)后期可便于网站自身的广告宣传与商品推广 因所学知识和能力的局限性,仅能完成有限范围内的雏形生成与功能实现,后期的功能实现需要进一步的深入学习才能使本课程设计日益完善。 1.2完成的主要工作 (1)需求分析与总体设计、详细设计、代码分析 (2)实现程序所能运行的功能 (3)选择Window系统,并选择该操作系统中一种进程通信的方式。 (4)运用Eclipse开发工具和java语言实现该应用程序。

JAVA聊天室实验报告

JAVA聊天室实验报告 :马琳越 班级:131114 学号:13111368 日期:2014年4月23日

目录 目录 (2) JAVA程序课程设计任务书 (3) 摘要 (4) 第1章引言 (5) 第2章聊天室系统的设计 (7) 第3章界面设计 (11) 第4章总结......................................... 错误!未定义书签。

Java聊天室的设计任务书 1.主要容 用JAVA实现基于C/S模式的聊天室系统。聊天室分为服务器端和客户端部分,服务器端程序主要负责侦听客户端发来的信息,客户端需要登陆到服务器端才可以实现正常的聊天功能。 2.具体要求 A.服务器端主要功能 (1).在特定端口上进行侦听,等待客户端连接。 (2).用户可以配置服务器端的侦听端口,默认端口为8888。 (3).向已经连接到服务器端的用户发送系统消息。 B. 客户端主要功能 (1).连接到已经开启聊天服务的服务器端。 (2).用户可以配置要连接的服务器端的IP地址和端口号。 (3).用户可以配置连接后显示的用户名。 (4).用户可以向所有人或某一个人发送消息。 3.主要参考文献及运用工具 (1)Bruce Eckel 著 Thinking in Java ,刚著疯狂Java讲 义 (2)使用技术:Java 使用开发工具:Eclipse

摘要 在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国腾讯公司开发的OICQ。基于Java网络编程的强大功能,本次大作业要求使用Java编写一个聊天系统。 一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,但是,由于自己数据库知识的部分遗忘,本程序未连接数据库,采用客户机/服务器架构模式,通过Java提供的Soket类来连接客户机和服务器并使客户机和服务器之间相互通信。 本系统建立在JAVA平台上,系统的设计使用了面向对象技术和面向对象的设计原则。系统采用C/S结构,客户端与客户端以及客户端与服务器端之间通过Socket传送消息。使用JAVA语言编写,开发工具采用Eclipse。服务器端设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不同的线程,执行不同的任务。大大增强了程序对服务器资源的利用。 聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息等等功能。

java实现聊天系统计算机网络课程设计报告总结.doc

计算机网络课程设计报告学生姓名 学号 班级 指导教师 设计时间

目录 第一章系统描述 设计目的 (3) 系统设计任务 (3) 系统设计分析 (3) 系统功能分析 (4) 第二章功能模块结构 模块划分 (5) 模块结构图 (5) 模块功能 (5) 第三章模块算法实现 服务器实现 (6) 客户端实现 (9) 第四章运行结果 (13) 第五章课程设计总结 (17) 第六章附录 参考文献 (19) 源代码 (19) 第一章系统描述 设计目的 1.学习网络编程的知识,掌握网络编程的方法。 2.进一步掌握编程思想与编程技巧,做到模块化程序设计,

3.强化语言学习,尤其是Java 的图形界面与多线程,需反复练习,熟练掌握。 系统设计任务 聊天室软件的设计与开发:基本要求可以完成群聊、私人聊天,实时发送和显示聊天信息,完成好友列表;进一步要求带表情,附件发送,聊天信息的加密传送,设置黑名单等。 学习通信编程 Socket 接口编程,使用 TCP或 UDP 接口完成信息传送,利用多线程技术实现服务器端的多个 TCP连接的建立。 系统设计分析 一.实现网络聊天室编程,关键在于Socket 通信,程序的功能都是在Socket 的基础上一层一层增加的。实现Socket 通信的基本方法为以下 4 个步骤。 ( 1)在客户端与服务器端创建相应的ServerSockot/Socket 实例。 ( 2)打开连接到 Socket 的输入输出流 ( 3)利用输入输出流,按照一定的协议(TCP协议)对 Socket 进行读写操作 ( 4)关闭输入输出流和Socket 我们要实现的功能都是在第 3 步对 Socket 的输入输出流做相应的操作 ServerSocket(port) Socketsocket= OutputStreamInputStream Server () Close 接收连接通信过程 Client Socket(host , port) 与服务器建立连接OutputStreamInputStream Close 二.因为是多客户端,所以必须用线程进行控制,不同的处理线程为不同的客户服务,主线程只负责循环等待,处理线程负责网络连接,接受客户输入的信息,再做相应的处理。 系统功能分析 本系统可以通过网络进行聊天,采用客户端服务器模式,所以程序简介清晰易懂,而且用户都是在客户端进行活动,方便对用户的管理,也使得程序运行与差错简单起来。采用了多线程技术,可以做到多人同时在线,提高了系统的性能,增强了系统的实用性。有简单的客户端界面,方便用户使用。采用的是TCP协议,这是可靠的,稳定的协议,这样不会丢失任何包,也就不会丢失任何信息。 本系统实现的功能有: 1.用户名字登录 2.用户之间的群聊

相关文档
最新文档