基于java的仿qq聊天程序的设计与实现(论文)

合集下载

网络聊天系统开发设计与实现毕业论文

网络聊天系统开发设计与实现毕业论文

山东英才学院毕业论文(设计)论文(设计)题目:网络聊天系统的设计与实现二级学院:计算机学院学科专业:计算机应用技术英才学院教务处制毕业论文(设计)容介绍网络聊天系统的设计与实现目录摘要 (4)ABSTRACT (5)前言 (6)一、聊天系统的运行开发环境 (7)1.1硬件环境 (7)1.2软件环境 (9)二、走进UDP协议 (10)2.1UDP的定义 (10)2.2UDP的组成 (10)三、利用VB语言设计网络聊天系统 (13)3.1创建服务器 (13)3.2创建客户 (14)3.3进行通信 (15)四、网络聊天软件的验证 (16)总结 (18)辞 (19)参考文献 (20)附录 (21)摘要本文主要描述了如何利用汇编语言编写一个能够实现网络之间信息传递的聊天程序系统.并介绍了无连接协议的SOCKET编程模型,以及阐述了聊天程序的设计目的前景和具体规划,还有聊天程序的商业运作.本论文共分为五部分.第一部分简单的分析了即时聊天系统开发的可行性,并重点对技术可行性(选择VB)做了详细分析;第二部分借助数据流图和数据字典对系统的功能和性能进行了详细的需求分析,建立了系统的逻辑结构;第三部分利用VB程序设计了UDP聊天程序;第四部分验证了设计的程序;第五部分是此次设计的结论总结及部分参考文献和附录。

关键字:Winsock 即时通讯点对点数据流图数据字典结构图层次输入输出处理图伪码AbstractThis paper describes how to use assembly language to achieve the preparation of a network of transmitting information between the chat program system.also is now the network rapid development result.The present paper altogether divides into five parts.The first part of simple analysis this immediate communication system development feasibility, and key (chose VB) to the technical feasibility to make the multianalysis;The second part has carried on the detailed demand analysis with the aid of the data flow graph and the data dictionary to the system function and the performance, has established the system logical organization;The third part chatted the procedure using VB programming UDP;The fourth part has confirmed the design procedure;Finally is this design conclusion summary and the part reference and the appendix.Key Word: Winsock immediate communication point-to-point, data flow graph data dictionary structure drawing level input output processing chart pseudo-code VB前言随着计算机网络日新月异的发展,人们的交流方式越来越多,传统的交流方式,如:信件、电报、等已经难以满足人们的交流要求,在互联网上即时的和好友取得联系,已经成为当今社会人们主流的联系方式。

仿QQ聊天系统的数据库设计与实现_ForStudent资料

仿QQ聊天系统的数据库设计与实现_ForStudent资料

仿QQ聊天系统的数据库设计与实现假如你要构建《即时通讯系统》阅读第4部分设计你的即时通讯系统中类的关系和数据库201405221 引言数据库课程设计是指对于一个给定的应用环境,构造设计优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足用户的应用需求。

信息管理要求是指在数据库中应该存储和管理哪些数据对象;数据操作要求是指对数据对象要进行哪些操作,如查询、加入、删除、修改、统计等操作。

数据库课程设计的目标是为了用户和各种应用系统提供一个信息基础设施和高效率的运行环境。

高效率的运行环境包括:数据库的存取效率、数据库存储空间的利用率、数据库系统运行管理的效率都是高的。

本次课程设计的目的是把所学的数据库的知识应用到实践中去。

现今知识已越来越受到人们的重视,仿QQ聊天系统是参考腾讯公司发布的腾讯QQ,主要运用数据库知识和C#将其初步实现[1]。

1.1课题背景现在的信息越来越发达,很多人都在使用QQ作为聊天工具,现根据腾讯公司的QQ 聊天系统制造属于自己的聊天工具,表面上看上去是仿QQ聊天系统,其实等到时机成熟可以换成别的名字,相信在不远的将来在老师和同学们的帮助下,再借助互联网,我们一定可以打造出属于自己的聊天系统。

当然系统存在着很多不足,需要老师的指点和帮助。

1.2系统需求分析QQ聊天系统是大家广泛喜欢经常应用到CS应用程序软件[2],而现在仿QQ聊天系统开发工具,是本人对其程序的深感兴趣,不但可以了解从中的业务,而且还可以加强学习,以及对知识的回顾。

同时也是尽快测试此聊天程序,以便和同学进行用自己的工具来交流聊天,由于好奇心促使和同学们一起来探讨此程序的开发,这样增强同学们之间的相互交流,相互学习。

该系统属于应用程序,需要对数据的处理,比如聊天信息要既是反馈给对方,故对数据的及时更新要求较高,保证数据的真实性.该系统在任何操作系统下都可以运行,但必须装有SQL2000数据库。

聊天软件设计总结范文

聊天软件设计总结范文

聊天软件设计总结范文嗨,大家好!今天来和你们唠唠我做这个聊天软件设计的那些事儿。

一、灵感来源。

你们知道吗,现在的人啊,不管是远在天边还是近在眼前,都喜欢聊天。

我就想,要是能设计一个超酷的聊天软件,那可就太赞了。

就像我自己有时候想找朋友分享个趣事,结果聊天软件卡得要死或者功能特别不好用,那真的很扫兴。

所以我就打算打造一个能让大家畅快聊天的玩意儿。

二、功能设计。

# (一)基础聊天功能。

1. 消息发送与接收。

这个肯定是最基本的啦。

就像我们平常说话一样,我得保证消息能快速地从这边飞到那边。

为了这个,我可是在网络优化上下了不少功夫呢。

不能让大家等个消息等半天,那感觉就像和蜗牛在聊天一样。

而且不管是文字、表情还是语音消息,都得稳稳当当的。

特别是语音消息,可不能像某些软件那样,声音忽大忽小,跟闹鬼似的。

2. 聊天记录保存。

这个功能就像是一个聊天的小仓库。

大家有时候想回头看看之前聊了啥,比如说和朋友回忆一下之前的某个笑话,或者是在工作聊天里找个重要信息。

所以聊天记录得好好保存,而且还得方便搜索。

我可不想让大家在一大堆聊天记录里翻得晕头转向的。

# (二)个性化设置。

1. 主题皮肤。

人嘛,都喜欢自己的东西有点个性。

我就给这个聊天软件设计了好多不同风格的主题皮肤。

有小清新的、酷炫的、可爱的,各种各样。

这样不管你是个时尚潮人还是个软萌妹子或者是个酷盖,都能找到自己喜欢的风格。

就像给你的聊天空间换衣服一样,想怎么美就怎么美。

2. 消息提醒音效与震动。

这个细节可不能忽略。

我想啊,每个人对于消息提醒的喜好都不一样。

有些人喜欢那种清脆的提示音,像小鸟叫一样,一听到就知道有消息来了;有些人可能在图书馆或者办公室,就希望是震动,悄悄地提醒。

所以我就设置了各种不同的音效和震动模式,让大家可以根据自己的情况来选择。

# (三)社交拓展功能。

1. 好友推荐。

在这个社交大网里,多认识些朋友总是好的。

我设计的好友推荐功能就像是一个热心的小媒婆。

仿QQ聊天系统课程设计

仿QQ聊天系统课程设计

目录绪论2一.需求分析2软件功能需求分析31.2 安全需求分析3二.总体设计42.1 软件结构图42.2 功能描述4注册功能概要5登录功能概要5聊天功能概要62.3 安全设计7三.数据库设计7概念结构设计7逻辑结构设计8物理结构设计8四.详细设计84.1 用户聊天模块总体流程图94.2 服务端模块94.3 客户端模块10五.编码15六.结论17学习体会18致谢18参考文献18绪论随着现代技术的不断输入和信息化的广泛普与,移动网络作为一种新兴事物,在近些年得到了前所未有的普与和深入,移动网络上的各种应用层出不穷,给各个阶层、各个年龄段的用户提供了不同的个性化的服务。

而现代中小型企业的领导认识到进一步提高企业信息化的必要性。

为使企业能在瞬息万变的信息时代生存下去,适应激烈的市场竞争,现代企业要求加强员工之间的交流和通信能力,尤其是领导和员工之间的共同能力,实时的交流系统就是在这种条件下诞生的。

在这个信息化时代,手机已成为继固话之后最为通俗的交流工具,“聊天〞成了生活的必需品,这就有了系统下人与人之间的多样会话方式—QQ聊天。

传统会话聊天或许是面对面闲话家常或许是通过打进展交流,但都存在各种不便与弊端。

而手机QQ,在手机系统下,占用手机相对很小的空间,系统的记录了QQ好友的信息,不仅突破了各种条件的束缚,减轻了机主的负担,更方便了使用者的通讯交流。

综上所述,本课题主要研究基于Android的移动聊天系统,以更好的用户体验性为目的开发出界面简洁,用户易操作的移动即时通信聊天工具。

该聊天工具的主要功能:用户注册,登录,好友一对一聊天,添加新好友,修改个人信息等。

在该即时通信工具中利用Bmob实现Android端与Bmob服务端的数据操作。

Bmob 对数据的增删改查找做了很好地封装,以与其批量的处理。

客户端之间通过服务器对数据的转发实现相互通信。

一.需求分析随着经济全球化的推进以与企业激烈的竞争,改善企业内部与整个供给链各环节的管理、调度资源配置,迅速适应客户的新需求和市场新机遇,是企业赢得竞争胜利的决定性因素。

模拟QQ聊天室需求分析报告(DOC)

模拟QQ聊天室需求分析报告(DOC)

文档名称: 需求分析报告项目名称: 模拟QQ聊天系统项目负责人:班级:学校:1引言1.1 编写目的作为用户与该系统软件开发维护人员共同遵守的软件需求规范说明, 本《软件需求说明书》的主要目的是明确所要开发的软件所应具有的功能、性能, 使系统分析人员和软件设计人员能清楚地了解用户的需求, 并在此基础上进一步提出概要设计和完成后续设计与开发工作, 为软件开发范围、业务处理规范提供依据, 也是应用软件进行合同最终验收的依据。

客户登陆后可以通过服务器转发, 实现一对一和多对多聊天, 闪动托盘图标提示到来信息, 实现呼叫功能, 并播放不同音乐来提示。

系统可以实时显示目前其它用户的状态, 保存并能察看聊天纪录, 并可以申请新的用户号码。

用户登陆成功, 将保存其号码, 以便下次登陆时, 不必再输入而可以直接选择, 显示登陆时间。

服务器端, 向各个客户端发布系统消息。

接受来自客户端的各种信息并分别处理。

自动分配8位用户号码, 并保存该用户, 同时将信息返回给客户端。

用户下线, 将此用户下线消息发给各客户端, 并改写用户在服务器端的状态。

系统易用、美观的图形界面, 可以实现系统托盘。

此外系统还涉与系统数据安全和用户管理的问题、各种代码使用和维护问题、数据安全和数据维护问题、聊天记录和输出等问题, 因此还要求系统具有系统管理和事务处理功能。

总而言之, 要求通过系统的开发, 达到系统项目的总体目标是: 在整个系统的框架下, 结合客户端与服务器端情况的需要实现对数据更新、数据查询、数据统计、数据分析等功能进行有效的管理。

并提供用户友好接口, 满足用户需求的软件。

预期的使用者就是各单位办公区、联系密切的同学朋友与家人、公司同事等, 使用前仔细阅读此软件说明是很必要的, 以便更好的使用、管理和维护此系统!1.2 背景1.待开发软件名称: 模拟QQ聊天工具2.用户: 所有使用QQ的用户。

3、实现软件的单位:4、QQ作为基础的聊天工具, 方便所有计算机用户的交流。

Java聊天室的设计与实现毕业设计论文

Java聊天室的设计与实现毕业设计论文

毕业设计说明书Java聊天室系统的设计与实现2017 年 5 月 17日Java网络聊天室系统的设计与实现摘要:计算机从出现到现在有了飞速的发展,现阶段的计算机已经不单单是用于进行运算的独立的个体了,跟随计算机一同发展的还有互联网技术,经过了长久的发展,互联网技术有了日新月异的发展,它的发展速度和计算机的发展速度一样的恐怖,从出现一直到现在,它已经在人们的生活的各个方面发挥着自己的作用,而且是不可替代的作用。

因为计算机发展到现在已经成为一种廉价的生活物品,可以预想到未来人们都会使用计算机,上网的人也会逐渐增多,会有不断的人完善和更新出更好更棒的互联网服务,来提高自己的生活水平。

我国近几年经济和社会在不断的发展,互联网也得到了广大的支持,网络更是已经融入了广大人民的日常生活。

在计算机编程方面,互联网软件开发逐步转向以java为首的面向对象的编程技术,传统的面向过程的编程技术已经逐渐退出了历史的舞台,java正以不可思议的速度发展。

人们日常的生活,教育,网银,网购,面对面的网上视频,以及现在逐渐被大众接受的网络游戏都在使用面向对象的技术。

而且java自身的优势以及特点能够真正减少了企业的开发成本和开发人员的开发时间和难度。

在以前,人们获取信息的方式十分单一,通过电视,广播,信件以及人们的口头相传,这种方式效率十分的底下,得到的信息也很局限。

现阶段上网查找成为人们获取信息的主要途径,它具有快速,方便,以及传递的特点。

所以人们对网上的即时面对面聊天产生了需要。

一个界面清新,简单,并且高效的网络聊天室一定会受到大众的喜爱。

为了这个目的,构建此聊天系统。

本文将介绍网络聊天室程序的设计与完成。

关键词:网络聊天室;Java;客户机/服务器;Socket;Java chat room system design and implementation Abstract:With the development of Internet technology, network technology is developing very fast in the area of computer technology, one of emerged from it until now, it in many aspects, such as politics, economy, life play an irreplaceable role. With the growing popularity of the computer and popularization, the future will be more and more people use the Internet, enjoy the constantly update and improve the network services, to improve the level of their work lives. With the development of our economy and the popularization of the Internet, the Internet technology is also used more in the daily life of people. In application development and process oriented programming technology is gradually replaced by object-oriented programming technology, the computer software design and development has become the dominant, especially in the development of network technology, the object-oriented Java language programming is development rapidly in explosive. Remote education, online banking, shopping online, video online, and online games are all using object-oriented Java technology. And Java portable features enable Java programs to be compiled into bytecode that is not relevant to the platform, which enables Java programs to run on machines with Java interpreters. It really reduces the development cost of the enterprise and the development time and difficulty of the developer.In today's society, people's lives have long been inseparable from the Internet. In the future, the life and work of society will depend more on the development of digital technology, more and more networked, digital, electronic and virtualized. E-commerce is also becoming more and more relevant with the development of the Internet and people's life. The use of the development of the Internet and the current situation and development trend, can believe network technology step by step change our work and lifestyle, and social values will all change of step by step.In today's rapid development of network, the query on the Internet become people to quickly get published, and transfer information important channel, it in many aspects, such as people, political economy, life play an important role. Traditional letter-writing methods do not satisfy people's immediate demand for information. Thus, can chat face to face on the Internet become important human needs, a popular chat tools should be: interface and pure and fresh, simple operation, humanity, saving system resources. For this purpose, build the chat system.This paper completes the development of an online chat room program through Java's sockets. This article introduces the design and completion of network chat room program.Key words:chat rooms; the Java; Client / Server;the Socket;目录摘要 (I)Abstract ................................................ 错误!未定义书签。

JQQ即时通讯系统的的设计和实现

JQQ即时通讯系统的的设计和实现

本科生毕业论文(设计)论文(设计)题目:J 即时通讯系统的设计与实现学院:电子信息工程学院专业:网络工程J 即时通讯系统的设计与实现[摘要]运用Internet和Java开发技术,采用C/S模式,建立一个基于应用的即时通讯系统。

本系统实现了用户注册,用户登陆,分组管理,好友管理,查询用户,用户即时通讯,查看聊天记录等功能。

用户注册是通过系统来添加新的用户;用户登录用来验证用户的信息是否合法;分组管理功能主要是对分组的管理,如添加分组、删除分组等;好友管理功能主要是对好友的管理,如添加好友、删除好友等;查询用户是查询所有已注册的用户以便加为好友进行通讯;用户即时通讯使成为好友的双方可以即时在线交流;查看聊天记录保存了与好友通讯的所有记录。

[关键词]即时通讯系统;C/S模式;TCP;UDPJ instant messaging system design and ImplementationAbstract:The use of Internet and Java development technologies, using C / S mode, a real-time communication system based on application. The system implements user registration, user login, group administration, friends manage, query user, instant messaging, view the chat history. User registration is through the system to add new users; user login used to authenticate the user's information is legitimate; group management functions mainly for the management of groups, such as adding a group, delete group, etc.; friends management functions mainly for friends management, such as adding friends, remove friends, etc.; query the user is the query to all registered users to add as friends to communicate; users to instant messaging to become friends of the two sides can exchange real-time online; view chat history with a good save friends of the communication of all records.Key words:Instant messaging system; C / S mode; TCP; UDP目录1 绪论41.1项目背景41.2国外研究现状51.3预期目标和经济效益51.4课题简要介绍61.5系统创新点62 需求分析72.1功能需求72.1.1 用户管理72.1.2 分组管理72.1.3 好友管理72.1.4 即时通讯82.2通讯模型的特点82.2.1 适用性82.2.2 扩展性92.3可行性研究92.3.1 技术可行性分析92.3.2 不确定性分析92.3.3 分析结论92.4运行环境103 概要设计103.1框架设计103.2拓扑结构103.3功能设计133.2.1 用户注册模块133.2.2 用户登录模块133.2.3分组管理模块143.2.4 好友管理模块143.2.5 查询用户模块153.2.6 即时通讯模块153.2.7 聊天记录模块153.4设计原则与一般要求154 系统设计164.1模块设计164.2即时通讯系统关系型数据库的实现164.2.1 数据库分析174.2.2 数据库概念设计174.2.3 数据库逻辑结构设计185 系统实现185.1注册模块185.2登录模块205.3分组管理模块错误!未定义书签。

QQ聊天工具开发文档

QQ聊天工具开发文档

QQ聊天工具开发文档一、设计背景:随着计算机网络日新月异的发展,人们的交流方式越来越多,传统的交流方式,如:信件、电报、电话等已经难以满足人们的交流要求,在互联网上即时的和好友取得联系,已经成为当今社会人们主流的联系方式。

两台计算机之间进行即时通讯、发送文件等交流方式已经成为时代的潮流。

因此出现了QQ、MSN等聊天工具。

QQ作为一款非常使用便捷的聊天工具,用java来实现是可行的。

网络上也出现了各种各样的聊天工具,都是人们自己编写的。

作为一个java初学者来说,我们的QQ聊天工具并不需要拥有各种各样的强大的功能。

基于这样的定位,我们开始设计自己的QQ聊天工具。

二、设计目的:期末设计三、设计思路:一款最基本的聊天工具由几部分组成:图形界面,协议,线程和数据库。

只要掌握这几个方面,编写聊天工具手到擒来。

在我的设计过程中,图形界面采取了比较好用的AWT,因为它方便且易于修改,初学者可以尝试使用,的确是不错的。

至于其他,大抵与其他工具类似,不说也罢。

四、原理流程图操作时先启动服务器(server),然后再启动客户端(client)。

详细说一下服务器的情况:首先输入账号才能查看聊天记录和个人信息。

切换是在聊天记录和服务器信息(如图所示)之间切换。

清空很简单,就是清屏。

服务器中会显示登录信息,谁登陆了,啥时候登陆的。

还可以显示各用户的全部操作,如查看他人资料,发起聊天,传送文件等等。

接下来是启动客户端,即登录。

登录界面:登陆界面做的有点差,还请老师多多包涵啊。

本来想插个图片的,没找的适合的。

账号就是注册时给的号码,密码不用说了。

点击注册后会进入一个界面:在此界面输入自己的个人信息就可以完成注册了。

注册完会有一个号码,就是你的账号。

注册完,输入账号密码,就可以登录进去。

登录后,会出现聊天主体界面:从图中可以看出该界面大体构造和功能。

最上面是用户的头像和一些信息。

中间就是好友界面,功能和QQ有些类似,这里不一一介绍。

JAVA聊天程序设计代码及报告

JAVA聊天程序设计代码及报告

JAVA聊天程序设计代码及报告import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintWriter;import java.util.Scanner;public class ChatClientpublic static void main(String[] args)final String HOST_NAME = "localhost";final int PORT_NUMBER = 1234;trySocket socket = new Socket(HOST_NAME, PORT_NUMBER);System.out.println("Connected to chat server!");BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream());PrintWriter writer = new PrintWriter(socket.getOutputStream(, true);// read user input in a separate threadThread inputThread = new Thread(( ->Scanner scanner = new Scanner(System.in);while (true)String userInput = scanner.nextLine(;writer.println(userInput);}});inputThread.start(;// continuously read server responsesString serverResponse;while ((serverResponse = reader.readLine() != null)System.out.println("Server: " + serverResponse);}} catch (Exception e)System.out.println("Error: " + e.getMessage();}}该聊天程序是一个基于TCP协议的客户端程序,使用了Java Socket 进行通信。

基于JAVA的仿QQ聊天系统的设计

基于JAVA的仿QQ聊天系统的设计

基于JAVA的仿QQ聊天系统的设计李丹;张师毅【摘要】以 JAVA 技术为核心,利用计算机局域网通信机制原理(例如 TCP/IP 协议、客户端/服务器端模式( C/S 模式)、网络编程设计方法等)完成了一款适合局域网的仿 QQ 聊天系统。

该系统主要由一个聊天服务器端程序和一个聊天客户端程序两块组成。

前者通过 Socket 套接字建立服务器,服务器能读取、转发客户端发来的信息,并能刷新用户列表;后者通过与服务器建立连接来进行客户端与客户端的信息交流。

经测试,系统工作性能稳定,基本能达到聊天功能,并实现了部分附加功能。

%Based on the JAVA technology , this paper uses some techniques of computer local area network communication , such asTCP/IP protocol , client/server model ( C/S ) and network designing method , to complete an imitation QQ chat system suitable for LAN . The system is mainly composed of a chat server program and a chat client program . Through the Socket , the former es-tablishes the server which can read , forward the information to the client , and refresh the list of users . The latter can get a con-nection with the server and then the exchange of information can be made from the client to the client . After testing , the system performance becomes stable , which can achieve the chat function and realized some additional functions .【期刊名称】《微型机与应用》【年(卷),期】2013(000)024【总页数】3页(P11-13)【关键词】即时通信;通信协议;Socket;多线程【作者】李丹;张师毅【作者单位】温州医科大学附属眼视光医院信息中心,浙江温州 325027; 厦门大学软件学院,福建厦门 361005;温州医科大学附属眼视光医院信息中心,浙江温州 325027【正文语种】中文【中图分类】TP311.1随着计算机网络技术的发展,网络聊天工具已经成为人们日常交流的一种重要工具。

基于Android的网络聊天软件的设计与实现

基于Android的网络聊天软件的设计与实现
控制层(Control)
主要负责对整个系统的流程进行调度,管理用户界面的逻辑流程,以及用户交互如何影响数据模型和数据模型如何影响用户交互过程这些东西都是有Android中的Activity完成的,在Android开发中,其配置文件AndroidManifest.xml扮演控制器的角色,文件中对各种组件视图进行相应的配置,以供模型在改变时对视图的调用。
XXXX
本科生毕业设计(论文)
学院(系):XX
专 业:XX
学 生:XX
指导教师:XX
完成日期年月
XXX本科生毕业设计(论文)
基于Android的网络聊天软件的设计与实现
Design and Implementation of theNetworkChatting Software
based on the Android
1.Android平台[1]上即时通信系统的架构:提出整个系统的合理架构以实现整个系统。
2.TCP/IP协议:介绍TCP/IP协议的内容并对协议进行解析;
3.移动即时通信系统的实现:根据提出的系统架构,并阐述本移动即时通信系统的设计和具体实现,最终对系统进行演示和运行。
本文在第二章介绍项目所用到的基本知识,对Android平台、TCP/IP协议以及MVC架构进行介绍,讨论在Android平台下程序的开发以及开发所需的环境。
这方面主要是引入了xml配置文件其中包括样式布局文件style动画效果布局文件anim文件夹下图片布局文件drawable文件夹主要负责对整个系统的流程进行调度管理用户界面的逻辑流程以及用户交互如何影响数据模型和数据模型如何影响用户交互过程这些东西都是有androidactivity完成的在android开发中其配置文件androidmanifestxml扮演控制器的角色文件中对各种组件视图进行相应的配置以供模型在改变时对视图的调用

网络工程毕业设计论文 基于java的仿qq聊天程序的设计与实现

网络工程毕业设计论文 基于java的仿qq聊天程序的设计与实现

存档编号_______基于Java的仿QQ聊天系统的设计与实现目录内容摘要: (1)关键字: (1)Abstract: (1)Key words: (1)1. 引言 (2)2. 系统分析 (2)2.1可行性分析 (2)2.2需求分析 (3)3. 总体设计 (11)3.1功能模块图 (11)3.2数据库设计 (12)3.3类图 (18)4. 详细设计及实现 (19)4.1界面设计 (19)4.2数据输入输出设计 (23)4.3代码实现 (24)5 系统测试 (31)5.1注册测试 (31)5.2登陆测试 (31)5.3私聊测试 (32)5.4群聊测试 (33)5.5文件传输测试 (34)6 总结 (35)参考文献 (37)内容摘要:计算机网络的迅速发展,对人类社会诸多领域产生了巨大的影响。

尤其是,随着信息时代的来临,人们之间愈来愈趋向于通过网络来交流和传递信息。

而聊天系统正是当前人们使用最多的中介。

在这个平台上,许多认识或不认识的人们彼此间能够随意的相互交流。

因此,开发和架构这种平台符合时代发展的需要。

本系统在开发中用到了局域网通信机制的原理,通过直接继承Thread类来建立多线程。

开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server模式)、网络编程的设计方法等。

在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流的分析,包含了一些基本的软件工程的方法。

关键字:Socket;服务器端;客户端;连接(connection)Abstract:The rapid development of the computer networks has been making a great influence in many fields of human society.In particular, along with information age approaching, between the people tend to increasingly in exchanges and the transmission information through the network. But chats the system is precisely the current people uses many intermediary,。

网络聊天程序的设计和实现报告

网络聊天程序的设计和实现报告

网络聊天程序的设计和实现报告一、引言网络聊天程序是一种基于互联网的即时通信工具,它允许用户通过网络实时交流信息。

本报告旨在介绍网络聊天程序的设计和实现过程,包括需求分析、系统设计、功能实现和测试等方面的内容。

二、需求分析1. 用户需求网络聊天程序的用户需求主要包括:- 实时聊天:用户可以通过程序实时发送和接收信息。

- 多人聊天:用户可以同时与多个人进行聊天。

- 好友管理:用户可以添加、删除和查看好友列表。

- 聊天记录:程序应该能够保存聊天记录,方便用户查看历史消息。

- 图片和文件传输:用户可以发送和接收图片、文件等多媒体内容。

- 安全性:程序应该具备一定的安全性,保护用户的聊天信息不被泄露。

2. 系统需求网络聊天程序的系统需求主要包括:- 跨平台兼容性:程序应该能够在不同操作系统上运行,如Windows、Mac、Linux等。

- 稳定性和可靠性:程序应该具备良好的稳定性和可靠性,不易崩溃或丢失数据。

- 用户界面友好:程序的用户界面应该简洁明了,方便用户操作。

- 高并发处理能力:程序应该能够处理大量用户同时在线的情况,保证系统的稳定性和响应速度。

三、系统设计1. 架构设计网络聊天程序的架构设计主要包括客户端和服务器端两部分。

- 客户端:负责用户界面的展示和用户输入的处理,与服务器端进行通信。

- 服务器端:负责接收客户端的请求,处理聊天信息的传输和存储。

2. 数据库设计为了保存用户的聊天记录和好友列表等信息,需要设计数据库来存储这些数据。

数据库的设计应该包括用户表、聊天记录表和好友关系表等。

3. 通信协议设计为了实现实时聊天功能,需要设计通信协议来规定客户端和服务器端之间的数据传输格式和通信规则。

常用的通信协议包括TCP/IP协议和WebSocket协议。

四、功能实现1. 用户注册和登录功能用户在使用网络聊天程序之前,需要进行注册和登录操作。

用户注册时需要提供用户名、密码等信息,并对用户输入进行合法性验证。

网上聊天系统设计及实现论文毕业设计

网上聊天系统设计及实现论文毕业设计

网上聊天系统设计及实现论文毕业设计一、引言随着互联网的快速发展,人们的沟通方式也发生了巨大的变化。

现在,人们可以通过各种即时通讯工具进行实时的文字、语音和视频交流,这大大方便了人们之间的交流和合作。

二、系统设计1.功能需求该网上聊天系统应具备以下功能:-用户注册及登录:用户需要先进行注册并登录才能使用聊天系统。

-好友关系管理:用户可以查找和添加好友,并进行好友关系的管理。

-即时消息交流:用户可以通过系统发送和接收即时消息。

-群组聊天:用户可以创建和加入不同的群组,并与群组成员进行聊天。

-文件传输:用户可以通过系统传输文件。

-消息记录:系统应该能够保存用户之间的消息记录,便于用户之间进行查看和回顾。

2.技术选型为了保证系统的高效性和稳定性,我们选用以下技术进行系统实现:- 后端服务器:选用Java语言进行开发,使用Spring框架搭建服务端,MySQL数据库存储用户数据和消息记录。

- 前端界面:使用HTML、CSS和JavaScript进行开发,配合Bootstrap框架实现友好的用户界面。

- 即时通信协议:选用WebSocket协议进行实时通信,保证消息的准确传输和即时性。

三、系统实现1.数据库设计针对该网上聊天系统,我们需要设计以下数据库表:-好友表:存储用户之间的好友关系。

-消息记录表:存储用户之间的消息记录,包括发送者、接收者、消息内容等。

-群组表:存储群组的基本信息。

-群组成员表:存储群组成员的关系信息。

2.系统架构该网上聊天系统采用C/S架构,具体分为客户端和服务端两个部分。

- 客户端:提供用户界面和交互功能,通过WebSocket与服务端进行通信。

-服务端:处理客户端的请求,实现用户认证、好友关系管理、消息处理等功能。

3.系统流程以下是该网上聊天系统的基本流程:-客户端启动后,用户输入用户名和密码进行登录。

-服务端验证用户信息,如果成功验证则返回登录成功消息,并推送用户的好友列表。

-用户可以进行添加好友、创建群组、加入群组等操作。

基于JAVA的网络通讯系统设计与实现-JAVA毕业设计论文

基于JAVA的网络通讯系统设计与实现-JAVA毕业设计论文

本科毕业设计(论文)(20XX届)本科生毕业设计(论文)基于Java的网络通信系统设计与实现20XX年6 月摘要在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的OICQ。

随着网络聊天一类的聊天系统的发展日新月异,因此产生了制作一个类似QQ的网络聊天工具。

Java是一种程序设计语言,它具有简单的、完全面向对象以及与平台无关的结构,也具有可移植性、高性能和安全性,并提供了多线程的功能,而Java语言最大的成功之处在于它的平台无关性和具有强大的网络编程功能,基于Java网络编程的强大功能,本人将用Java编写一个网络聊天系统。

论文首先论述了系统的开发背景,并对所用到的开发工具与关键技术做了简单的介绍。

接着对系统的研究意义,研究现状及设计目标进行分析,通过对系统需求和可行性进行分析,确定了系统的功能模块,并画出相应的功能结构图、模块图和数据流图。

其次按系统总体设计的结果,对系统中的数据库进行结构设计。

一般来说,聊天工具大多数由客户端程序和服务器程序,外加服务器端用于存放客户数据的数据库组成,本系统采用客户机/服务器架构模式,通过Java提供的Socket 类来连接客户机和服务器并使客户机和服务器之间相互通信,由于聊天是多点对多点的,而Java提供的多线程功能,用多线程可完成多点对多点的聊天。

数据库管理系统用SQL Server20XX,完成并通过JDBC-ODBC桥访问数据库。

聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息,传输文件等功能。

界面设计细分化,方便使用者操作和理解。

服务器实现了查询和修改等功能,程序逻辑联系较紧密。

关键词:JAVA,C/S,SQL Server 20XX, 多线程, 数据库管理系统ABSTRACTMore and more developed in the network today, people rely on more and more networks, and can not leave with out it. This caused the chat materials become more numerous, as the overseas ICQ system, the OICQ system that invented by Tencent Co., and so on. So we create a network chat medium just like the QQ.Java is a programming language with the simple construction which is completely object-oriented 。

教育机构的实习心得范文五篇

教育机构的实习心得范文五篇

教育机构的实习心得范文五篇通过实习,在基层的锻炼中,我进一步清楚地认识了自己,认识到社会所赋予个体的责任。

在这次基层的培养与锻炼中,我学会了很多道理,期间的点点滴滴我会铭记于心,大家的支持、鼓励和建议有利于我个人今后的发展。

下面本人给大家整理的教育机构的实习心得范文五篇,希望大家喜欢!教育机构的实习心得范文1一、实习基本情况第一次参加社会实习,我明白社会实践是引导我们学生走出校门,走向社会,接触社会,了解社会,投身社会的良好形式;是培养锻炼才干的好渠道;是提升思想,修身养性,树立服务社会的思想的有效途径。

通过参加社会实践活动,有助于我们在校中学生更新观念,吸收新的思想与知识。

近两个月的实习,让我从中领悟到了很多的东西,而这些东西将让我终生受用。

社会实习加深了我与社会各阶层人的感情,拉近了我与社会的距离,也让自己在社会实践中开拓了视野,增长了才干,进一步明确了我们青年学生的成材之路与肩负的历史使命。

社会才是学习和受教育的大课堂,在那片广阔的天地里,我们的人生价值得到了体现,为将来更加激烈的竞争打下了更为坚实的基矗我在实践中得到许多的感悟!下面是我实习的一些基本情况:1、实习时间为:2、实习地点为:3、实习单位为:4、实习方式为:深入学习html、asp、access、SQL数据库及网站的开发、系统维护、服务器维护以及SNS网络推广等。

5、实习目的:规范自己的编程习惯,熟悉html、javascript编程,在VS2015、dreamweaver下开发水平达到一般大学应届生毕业一年后的同等工作水平。

6、公司_教育总部设在北京,是全国知名的公务员考试、事业单位考试、村官选拔考试的资深研究和教育辅导机构。

广西南宁_教育咨询有限公司作为_教育在广西的总部,已在广西扎根七年。

七年来,在广西区考与国考中,_教育以专注专业的师资,精研精编的原创教材,全心全意的教学服务,至诚至真的理念,帮助大批考生顺利通过笔试面试,成功成为公职队伍中的一员。

java聊天室 实验报告

java聊天室 实验报告

java聊天室实验报告Java聊天室实验报告引言:聊天室是一种通过网络连接,允许用户在同一平台上进行实时交流的应用程序。

随着互联网的普及,聊天室成为人们日常生活中不可或缺的一部分。

本实验旨在通过使用Java编程语言,设计和实现一个简单的聊天室应用程序,并探讨其实现过程中所涉及的关键技术和挑战。

一、项目背景随着网络技术的飞速发展,人们对于实时交流的需求不断增加。

聊天室作为一种方便快捷的交流工具,受到了广大用户的欢迎。

本项目旨在利用Java编程语言,实现一个基于网络的聊天室应用程序,以满足用户的实时交流需求。

二、项目目标1. 设计和实现一个基于Java的聊天室应用程序。

2. 实现用户之间的实时消息传递功能。

3. 提供可靠的用户身份验证机制,确保聊天室的安全性。

4. 实现聊天记录的存储和查看功能,方便用户回顾历史消息。

三、技术实现1. 服务器端在服务器端,我们使用Java的Socket编程实现了与客户端的连接和通信。

通过建立一个服务器Socket,监听指定端口,可以接受来自客户端的连接请求。

一旦连接建立,服务器端就会创建一个新的线程来处理该客户端的请求,并实现实时消息的传递和处理。

2. 客户端在客户端,我们同样使用Java的Socket编程实现了与服务器端的连接和通信。

客户端通过建立一个Socket,指定服务器的IP地址和端口号,即可与服务器建立连接。

客户端通过输入消息并发送给服务器,同时接收来自服务器的消息并显示在界面上。

3. 用户身份验证为了确保聊天室的安全性,我们使用了用户身份验证机制。

在用户登录时,客户端将用户名和密码发送给服务器端。

服务器端通过验证用户信息的正确性,返回登录结果给客户端。

只有通过身份验证的用户才能进入聊天室并参与实时交流。

4. 聊天记录存储为了方便用户回顾历史消息,我们实现了聊天记录的存储和查看功能。

服务器端将接收到的消息保存在数据库中,并提供查看聊天记录的接口。

用户可以通过指定时间范围或关键词来查询历史消息,以便回顾和查找需要的信息。

简单聊天系统的设计与实现

简单聊天系统的设计与实现

JISHOU UNIVERSITY专业课课程论文简单聊天系统的设计与实现题目:作者:学号:所属学院:信息科学与工程学院专业班级:总评分:完成时间:吉首大学信息科学与工程学院简单聊天系统的设计与实现(吉首大学信息科学与工程学院,湖南吉首 416000)摘要网络聊天室通常直称聊天室,是一种人们可以在线交谈的网络论坛,在同一聊天室的人们通过广播消息进行实时交谈。

在当今信息时代,越来越多的聊天工具被应用,java语言是当今流行的网络编程语言,它具有面向对象,与平台无关,安全,多线程等特点。

使用java语言不仅可以实现大型企业级的分布式应用系统,还能够为小型的的,嵌入式设备进行应用程序的开发。

面向对象的开发是当今世界最流行的开发方法,它不仅具有更贴近自然地语义,而且有利于软件的维护和继承,锻炼我们熟练地应用面向对象的思想和设计方法解决实际问题的能力。

本程序正是用java 语言实现了简单聊天功能。

它是图形界面,线程,流与文件系统等技术的综合应用。

其界面主要采用了java.awt 包,java.swing 包等。

关键词:网络聊天室;java;面向对象;通信机制;图形界面目录第一章引言1第二章关键技术 (2)2.1开发技术 (2)2.1.1什么是Java (2)2.1.2主要特性 (2)2.1.3 Java中的布局 (3)2.2 开发工具 (3)2.2.1 Eclipse (3)2.2.2 SQL Sever数据库 (3)第三章需求分析 (4)3.1可行性分析 (4)3.1.1 经济可行性 (4)3.1.2 操作可行性 (4)3.1.3 技术可行性 (4)3.2功能分析 (4)3.2.1 注册 (4)3.2.2 登录 (5)3.2.3 私聊 (5)第四章概要设计 (6)4.1系统总体结构 (6)4.2数据库设计 (6)第五章详细设计 (8)5.1登录模块设计 (8)5.2注册模块设计 (9)5.3消息格式化设计 (10)5.4 界面设计 (10)5.4.1 登录界面 (10)5.4.2 注册界面 (11)5.4.3 聊天界面 (11)结束语 (12)参考文献...... (123)简单聊天系统的设计与实现第一章引言当今主流的聊天工具有QQ,MSN,网易泡泡等,国内最热门的聊天工具当属腾讯QQ,是由深圳市腾讯计算机系统公司开发的,基于Internet的即时寻呼软件。

JAVA聊天程序设计代码及报告

JAVA聊天程序设计代码及报告

一.系统需求分析网络聊天室通常直称聊天室;是一种人们可以在线交谈的网络论坛;在同一聊天室的人们通过广播消息进行实时交谈..在当今信息时代;越来越多的聊天工具被应用;java语言是当今流行的网络编程语言;它具有面向对象;与平台无关;安全;多线程等特点..使用java语言不仅可以实现大型企业级的分布式应用系统;还能够为小型的的;嵌入式设备进行应用程序的开发..面向对象的开发是当今世界最流行的开发方法;它不仅具有更贴近自然地语义;而且有利于软件的维护和继承;锻炼我们熟练地应用面向对象的思想和设计方法解决实际问题的能力..本程序正是用java语言实现了简单聊天功能..它是图形界面;线程;流与文件系统等技术的综合应用..其界面主要采用了java.awt包;java.swing包等..二.系统总体设计1.对性能的规定由于本软件知识一个聊天程序;程序只提供用户之间的聊天功能;故对网络传输数据要求不是很高;只要正常的传输速度就可以了..2数据管理IP地址IP;端口Port3.开发环境本软件采用Java语言编写;Java语言是一种跨平台的编程语言;所以本软件对操作系统没有特别的要求..而网络传输方面采用TCP/IP网络传输协议或者是RMI..4.设计概要1本软件客户端与用户共用一段程序..客户端编译运行后;在窗口选择----侦听..用户编译运行后;在窗口选择----连接..2本软件实现的功能有1允许服务器侦听客户端;客户端连接到服务器2允许服务区与客户端之间进行聊天;3允许服务器与客户端更改背景颜色;4 允许服务器与客户端更改字体颜色;5服务器与客户端时;会显示内容发送时间;6允许服务器与客户端用鼠标点击“发送”;按ENTER键均可发送内容7允许服务器与客户端用鼠标点击关闭时关闭聊天窗口三.系统详细设计1.代码功能描述1程序中引入的包:import java.awt.;import java.awt.event.;import javax.swing.;import java.;import java.io.;2代码中自定义的类:类名:chatHouse继承的类:JFrame实现的接口:ActionListener; Runnable作用:构造服务器界面以及客户端界面..定义的对象: TextArea ta;JTextField ip;JTextField port;JButton btn_server;JButton btn_client;JButton btn_backGroundCol;JButton btn_fontCol;JTextField send_text;JButton btn_send;JButton btn_close;JLabel pic;Socket skt;构造方法:public chatHouse主要成员方法:public void runpublic void actionPerformedActionEvent epublic void doServerpublic void doSend2.源代码chatHouse.javaimport java.awt.;import java.awt.event.;import javax.swing.;import java.;import java.io.;import java.util.;public class chatHouse extends JFrame implements ActionListener; Runnable{private TextArea ta;private JTextField ip;private JTextField port;private JButton btn_server;private JButton btn_client;private JButton btn_backGroundCol;private JButton btn_fontCol;private JTextField send_text;private JButton btn_send;private JButton btn_close;private JLabel pic;private Socket skt;public void run{try{BufferedReader br = new BufferedReadernew InputStreamReaderskt.getInputStream;whiletrue{String s = br.readLine; // 从网络读ifs==null break;ta.appends + "\n";}}catchException e{e.printStackTrace;}}public void actionPerformedActionEvent e{ife.getSource==btn_server{doServer;}ife.getSource==btn_client{doClient;}ife.getSource==btn_send{doSend;}}public void doServer{try{ServerSocket server = newServerSocketInteger.parseIntport.getText;skt = server.accept;ta.append"连接成功\n";new Threadthis.start;}catchException e{ta.append"服务器启动失败\n";}}public void doClient{try{skt = new Socketip.getText; Integer.parseIntport.getText;ta.append"连接成功\n";new Threadthis.start;}catchException e{ta.append"连接失败\n";}}public void doSend{Calendar c=Calendar.getInstance;int y=c.getc.YEAR;int M=c.getc.MONTH+1;int d=c.getc.DAY_OF_MONTH;int h=c.getc.HOUR_OF_DAY;int mm=c.getc.MINUTE;int ss=c.getc.SECOND;try{PrintWriter pw = new PrintWriterskt.getOutputStream;String s = send_text.getText;ifs==null return;ta.appendy+"-"+M+"-"+d+" "+h+":"+mm+":"+ss+"\n";ta.appends+"\n";pw.printlny+"-"+M+"-"+d+" "+h+":"+mm+":"+ss;pw.printlns;pw.flush;send_text.setText"";}catchException e{ta.append"发送失败\n";}}public chatHouse{super"聊天室";this.setBounds100;100;550;430;Container cc = this.getContentPane;JPanel p1 = new JPanel;cc.addp1; BorderLayout.NORTH;JPanel p2 = new JPanel;cc.addp2;BorderLayout.CENTER;JPanel p3 = new JPanel;cc.addp3;BorderLayout.SOUTH;pic=new JLabelnew ImageIcon"12.gif";cc.addpic;BorderLayout.EAST;p1.addnew JLabel"IP: ";ip = new JTextField"127.0.0.1"; 10;p1.addip;p1.addnew JLabel"Port: ";port = new JTextField"7777"; 4;p1.addport;btn_server = new JButton"侦听";p1.addbtn_server;btn_client = new JButton"连接";p1.addbtn_client;btn_backGroundCol =new JButton"背景色";p1.addbtn_backGroundCol;btn_fontCol =new JButton"字体颜色";p1.addbtn_fontCol;p2.setLayoutnew BorderLayoutta = new TextArea;p2.addta; BorderLayout.CENTER;send_text = new JTextField"Hello.";p2.addsend_text; BorderLayout.SOUTH;btn_send = new JButton"发送";p3.addbtn_send; BorderLayout.WEST;btn_close =new JButton"关闭";p3.addbtn_close; BorderLayout.CENTER;//---------------------------------------"关闭"按钮监听器 btn_close.addActionListenernew ActionListener{public void actionPerformedActionEvent e{System.exit100;}};//--------------------------------------- 背景变色监听btn_backGroundCol.addActionListenernew ActionListener{public void actionPerformedActionEvent e{JColorChooser chooser4=new JColorChooser;Color color=chooser4.showDialognull;"背景颜";Color.yellow; ta.setBackgroundcolor;}};//---------------------------------------字体变色监听btn_fontCol.addActionListenernew ActionListener{public void actionPerformedActionEvent e{JColorChooser chooser4=new JColorChooser;Color color=chooser4.showDialognull;"字体颜色";Color.black; send_text.setForegroundcolor;ta.setForegroundcolor;}};//---------------------------------------按ENTER键可发送监听btn_server.addActionListenerthis;btn_client.addActionListenerthis;btn_send.addActionListenerthis;setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;send_text.addKeyListenernew KeyAdapter{public void keyPressedKeyEvent e{ife.getKeyCode==KeyEvent.VK_ENTERdoSend;}};}public static void mainString args{new chatHouse.setVisibletrue;}}import java.util.;3.程序测试编译运行程序后;先选择对方IP;选择同样的Port..服务器先侦听;客户端再连接..连接成功;窗口会显示“连接成功”字样..接下来就可以聊天了..1 服务器与客户端聊天..2服务器与客户端聊天..服务器将背景颜色设为粉红;字体颜色设为蓝色.. 客户端将背景颜色设为蓝色;字体颜色设为红色..四.小结1.通过本次课程设计;使得自己懂得理论和实践相结合起来;从理论中得出结论;才能真正掌握这门技术;也提高了自己独立思考的能力;在设计的过程中;可以自己解决..真正体会到要将一门知识学的更深入;必须加强实践;多练习;才能发现问题所在..2..本程序实现的功能还比较简单不够完善;从中;我知道了自己的不足之处;决心增长自己的知识;设计更加好的程序;实现各种更加复杂的功能;如:传输文件;图片..以及登陆界面;昵称等..3.总的来说;这次实训对我很有帮助..让我学会了的不只是设计JAVA聊天室;更让我学会主动学习;而不是被动接收..这样才能更好的运用自己所学到的知识..另:附该代码所用到的图片 12.gif。

毕业设计(论文)-基于安卓的聊天App的设计与实现

毕业设计(论文)-基于安卓的聊天App的设计与实现
After analyzing the prospects for development in the current environment to chat App, we carried out the design and implementation of the system,and the system has been fully tested. Keywords:Android;instant messaging;ring letter;
本文在分析了当前环境下聊天 App 的发展前景后,进行了系统的设计和实现,并对 系统进行了完整的测试。系统具有界面友好,操作简单,方便实用的特点。 关键词: Android;即时通讯;环信;聊天 计与实现
Design and Imple mentation of Android Chat room
2.3.4 Broadcast Receiver ...................................................................................................... - 9 2.4 ANDROID 和其它手机操作系统的比较................................................................................ - 9 2.5 本章小结........................................................................................................................- 10 -
安徽工程大学毕业设计(论文)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

存档编号_______ x x 师学院学士学位论文基于Java的仿QQ聊天系统的设计与实现页脚.目录容摘要: (37)关键字: (37)Abstract: (37)Key words: (37)1. 引言 (38)2. 系统分析 (38)2.1可行性分析 (38)2.2需求分析 (39)3. 总体设计 (47)3.1功能模块图 (47)3.2数据库设计 (48)3.3类图 (54)4. 详细设计及实现 (55)4.1界面设计 (55)4.2数据输入输出设计 (59)4.3代码实现 (60)5 系统测试 (67)5.1注册测试 (67)5.2登陆测试 (67)5.3私聊测试 (68)5.4群聊测试 (69)5.5文件传输测试 (70)6 总结 (71)参考文献 ............................................................................................ 错误!未定义书签。

页脚.容摘要:计算机网络的迅速发展,对人类社会诸多领域产生了巨大的影响。

尤其是,随着信息时代的来临,人们之间愈来愈趋向于通过网络来交流和传递信息。

而聊天系统正是当前人们使用最多的中介。

在这个平台上,许多认识或不认识的人们彼此间能够随意的相互交流。

因此,开发和架构这种平台符合时代发展的需要。

本系统在开发中用到了局域网通信机制的原理,通过直接继承Thread类来建立多线程。

开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server模式)、网络编程的设计方法等。

在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流的分析,包含了一些基本的软件工程的方法。

关键字:Socket;服务器端;客户端;连接(connection)Abstract:The rapid development of the computer networks has been making a great influence in many fields of human society.In particular, along with information age approaching, between the people tend to increasingly in exchanges and the transmission information through the network. But chats the system is precisely the current people uses many intermediary,。

In this platform, people each other which many understanding or did not know can at will mutual exchange. Therefore, the development and overhead construction this kind of platform conforms to the time need to develop.This system with the LAN correspondence mechanism principle, through inheritting the Thread kind to establish the multithreading directly. In the development, it uses the elementary theory knowledge which the computer network programmes. for example, TCP/IP agreement, Client/Server pattern, network programming design method and so on. In the network programming, it realizes reading and transmission of the information, that is, informaton flows realize the information exchange, introduce information flow analysis for realizing a system, in which containes some basic software engineering methods.Key words:Socket ; server ; client ; connection页脚.1. 引言当今主流的聊天工具有QQ,ICQ,MSN Messenger,Yahoo Messenger等,国最热门的当属QQ,腾讯QQ(OICQ)是由市腾讯计算机系统公司开发的,基于Internet的即时寻呼软件。

您可以使用QQ 和好友用户进行交流,信息即时发送,即时回复,收发及时、功能全面。

此外QQ还具有BP机网上寻呼、聊天室、传输文件、语音、手机短讯服务等功能,QQ不仅仅是虚拟的网络寻呼机,更可与传统的无线寻呼网、GSM移动的短消息系统互联,目前QQ和全国多家寻呼台、移动通信公司有业务合作。

是国不可多得的中文网络寻呼机。

QQ支持显示朋友在线信息、即时传送信息、即时交谈、即时发送文件和网址。

QQ可以在Win95/98/NT/2000操作系统下运行,是十分灵活的网络寻呼工具。

它会自动检查您是否已联网,如果您的电脑已连入Internet,可以搜索网友、显示在线网友,可以根据QQ号、昵称、、email地址等关键词来查找,找到后可加入到通讯录中。

当您的通讯录中的网友在线时,QQ中朋友的头像就会显示在线,根据提示就可以发送信息,如果对方登记了寻呼机或开通了GSM手机短消息,即使离线了,您也可及时将信息传递给您的好友。

虽然以上这些软件是免费的,并且功能越来越强大。

但是它们的唯一的不足就是必须要联网或者下载到它们的服务端,要不然是没法脱离Intenet使用的。

为了能在一个没有连接到Intenet的局域网使用聊天工具,那就必须要有服务器端。

本系统就是包括服务器端与客户端,可以在局域网聊天的一个工具。

2. 系统分析2.1可行性分析1)经济可行性:本系统需要一个oracle数据库服务器,由于使用人数比较少,安装一个免费的oracle数据库完全可以应付需要,所以成本就不用考虑了。

2)操作可行性:只要一台以上计算机连接在同一个局域网,本系统就可以安装使用,所以操作上完全不存在问题。

3)技术可行性:本系统采用Java语言,是基于CS架构的。

开发页脚.这个系统需要开发者对socket编程和java Swing这两方面的技术比较熟。

由于本人长期从事于java语言编程,所以技术方面是可行的。

2.2需求分析2.2.1功能分析本系统要实现的功能如下:1)注册服务器收到用户的注册请求,便开始接受客户传递的信息,诸如客户的呢称,性别,籍贯,个人资料等,接受完毕后,便通过Jdbc-Odbc 与后台数据库连接,然后向数据库添加记录,如果成功,便向客户返回其。

客户收到服务器返回的信息后,便打开主登陆窗口。

2)登陆在客户端,用户输入其和密码,然后建立与服务器的连接,告诉服务器我要登录,服务器收到后,开始通过JdbcOdbc读取数据库,然后与用户输入的信息比较,如果成功,便打开主程序窗口。

然后客户向服务器请求读取好友,服务器收到该请求,开始读取数据库中的表,得到好友的后,再在icq表中读取好友资料,然后向客户端发送这些信息,客户收到后就在主窗口显示好友,并且建立几个矢量(Vector)用以存储好友的呢称,。

3)私聊私聊就是两个聊天。

客户端首先发送消息到服务器端,服务器端根据发送人信息和接收者信息来转发。

例如服务器接收到一个A发给B 的消息,先判断B是否已经在线,如果在线就将信息发送过去。

B接收到A发来的信息,如果是未建立对话窗口,就询问是否建立对话,否则就丢弃信息。

4)群聊群聊,就是多人一起聊天。

过程与私聊差不多。

唯一的不同就是服务器会将信息转发给指定群的所有成员。

5)创建分组用户注册以后默认的好友分组只有一个。

用户在执行添加分组操作以后,客户端分将一个这个动作的信息发送给服务器端(主要是FromClientlisten)。

服务器端的fromClientListen接收到这个请求,会进行数据库操作,将要添加的分组信息插入到数据库中。

如果成功,则返回这个分组的信息给客户端,否则返回错误提示信息。

页脚.6)创建群用户注册以后群个数为0。

用户在执行添加群操作以后,客户端分将一个这个动作的信息发送给服务器端(主要是FromClientlisten)。

服务器端的fromClientListen接收到这个请求,会进行数据库操作,将要添加的群信息插入到数据库中。

如果成功,则返回这个群的信息给客户端,否则返回错误提示信息。

7)查找好友并加为好友输入要查找的用户ID号,客户端发送一个查询信息给服务器端,如果找到就返回用户服务信息。

打开一个用户信息显示界面,该界面会提供一个“添加为好友”按钮,点击后可将此人加为好友。

如果未找到,弹出一个信息提示框。

8)查找群并加入群输入要查找的群ID号,客户端发送一个查询信息给服务器端,如果找到就返回用户服务信息。

打开一个群信息显示界面,该界面会提供一个“加入此群”按钮,点击后可将此人加为好友。

如果未找到,则弹出一个信息提示框。

9)文件共享在启动文件传输服务器的共享文件功能之前,要设置它的IP号和端口,如果设置不好。

好友将无法下看到这些共享的文件。

还有一个重要的步骤就是添加共享文件或目录。

最后启动文件共享。

10)下载文件使用文件传输的客户端要正确配置好服务器的IP和端口号,以及下载好的文件的存放目录。

如果其中之一配置不好,文件下载将会失败。

设置好以后,点击“连接”按钮,如果配置正确,这时将会看到服务器共享的文件。

目前不能支持文件夹下载,当看到一个文件夹以后,可以双击该文件夹并查看文件夹里面的文件。

2.2.2性能分析本系统由于采用免费的oracle数据库软件,连接数最多不能超过200,所以并发访问数据库的人数不能超过200人。

页脚.2.2.3用例图图2-1系统用例图2.2.4时序图客户登陆、注册时的服务器端时序图页脚.图2-2注册、登陆时的服务端的时序图本图说明:服务器接每次与一个客户连接以后,就会去创建一个监听线程。

相关文档
最新文档