学士学位论文
基于Java的仿QQ聊天系统的设计与实现
教学学院数学与计算机学院
届别      2009 届
专业网络工程
学号      05064522
姓名      ****
指导老师______****_____
完成日期_    2009-5-7_____
目录
内容摘要: (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,。In this platform, people each other which many understanding or did not know can at will mutual exchange. Therefore, the d
宋小宝的媳妇
evelopment 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
突围结局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架构的。开发
2
这个系统需要开发者对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接收到这个请求,会进行数据库操作,将要添加的分组信息插入到数据库中。如果成功,则返回这个分组的信息给客户端,否则返回错误提示信息。
3