基于java的仿qq聊天程序设计与实现论文_第1页
基于java的仿qq聊天程序设计与实现论文_第2页
基于java的仿qq聊天程序设计与实现论文_第3页
基于java的仿qq聊天程序设计与实现论文_第4页
基于java的仿qq聊天程序设计与实现论文_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

存档编号_x x 师 范 学 院 学 士 学 位 论 文基于 Java 的仿 QQ 聊天系统的设计与实现目 录内容摘要: .1关键字: .1Abstract: .1Key words: .11. 引言 .22. 系统分析 .22.1 可行性分析 .22.2 需求分析 .33. 总体设计 .113.1 功能模块图 .113.2 数据 库设计 .123.3 类图 .184. 详细设计及实现 .194.1 界面设计 .194.2 数据输入输出设计 .234.3 代码实现 .245 系统测试 .315.1 注册测试 .315.2 登陆测试 .315.3 私聊测试 .325.4 群聊测试 .335.5 文件传输测试 .346 总结 .35参考文献 .3737内容摘要: 计算机网络的迅速发展,对人类社会诸多领域产生了巨大的影响。尤其是,随着信息时代的来临,人们之间愈来愈趋向于通过网络来交流和传递信息。而聊天系统正是当前人们使用最多的中介。在这个平台上,许多认识或不认识的人们彼此间能够随意的相互交流。因此,开发和架构这种平台符合时代发展的需要。本系统在开发中用到了局域网通信机制的原理,通过直接继承Thread 类来建立多线程。开发中利用了计算机网络编程的基本理论知识,如 TCP/IP 协议、客户端/服务器端模式(Client/Server 模式) 、网络编程的设计方法等。在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流的分析,包含了一些基本的软件工程的方法。关键字: S ocket;服务器端; 客户端; 连接(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 ; connection381. 引言当今主流的聊天工具有 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 架构的。开39发这个系统需要开发者对 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 接收到这个请求,会进行数据库操作,将要添加的分组信息插入到数据库中。如果成功,则返回这个分组的信息给客户端,否则返回错误提示信息。406)创建群用户注册以后群个数为 0。用户在执行添加群操作以后,客户端分将一个这个动作的信息发送给服务器端(主要是 FromClientlisten) 。服务器端的 fromClientListen 接收到这个请求,会进行数据库操作,将要添加的群信息插入到数据库中。如果成功,则返回这个群的信息给客户端,否则返回错误提示信息。7)查找好友并加为好友输入要查找的用户 ID 号,客户端发送一个查询信息给服务器端,如果找到就返回用户服务信息。打开一个用户信息显示界面,该界面会提供一个“添加为好友”按钮,点击后可将此人加为好友。如果未找到,弹出一个信息提示框。8)查找群并加入群输入要查找的群 ID 号,客户端发送一个查询信息给服务器端,如果找到就返回用户服务信息。打开一个群信息显示界面,该界面会提供一个“加入此群”按钮,点击后可将此人加为好友。如果未找到,则弹出一个信息提示框。9)文件共享在启动文件传输服务器的共享文件功能之前,要设置它的 IP 号和端口,如果设置不好。好友将无法下看到这些共享的文件。还有一个重要的步骤就是添加共享文件或目录。最后启动文件共享。10)下载文件使用文件传输的客户端要正确配置好服务器的 IP 和端口号,以及下载好的文件的存放目录。如果其中之一配置不好,文件下载将会失败。设置好以后,点击“连接”按钮,如果配置正确,这时将会看到服务器共享的文件。目前不能支持文件夹下载,当看到一个文件夹以后,可以双击该文件夹并查看文件夹里面的文件。2.2.2 性能分析本系统由于采用免费的 oracle 数据库软件,连接数最多不能超过200,所以并发访问数据库的人数不能超过 200 人。412.2.3 用例图图 2-1 系统用例图2.2.4 时序图客户登陆、注册时的服务器端时序图42图 2-2 注册、登陆时的服务端的时序图本图说明:服务器接每次与一个客户连接以后,就会去创建一个监听线程。通过线程来接收客户端发送的所有数据。如果要查询数据库,监听线程会请求获得一个数据库连接.如果数据库连接已经获得,就把连接交给 DBOperation 对象,通过此对象可以返回给监听线程必要的结果。最后监听线程会通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论