java的仿qq聊天程序的设计

上传人:夏** 文档编号:469579889 上传时间:2022-11-14 格式:DOC 页数:18 大小:443.50KB
返回 下载 相关 举报
java的仿qq聊天程序的设计_第1页
第1页 / 共18页
java的仿qq聊天程序的设计_第2页
第2页 / 共18页
java的仿qq聊天程序的设计_第3页
第3页 / 共18页
java的仿qq聊天程序的设计_第4页
第4页 / 共18页
java的仿qq聊天程序的设计_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《java的仿qq聊天程序的设计》由会员分享,可在线阅读,更多相关《java的仿qq聊天程序的设计(18页珍藏版)》请在金锄头文库上搜索。

1、import .DatagianiPacket; import j a va. 10. S ena liza ble;import .InetAddress;public class QDatagianiPacket miplements Serializable定义操作的类型,type用于传递时,识别操作类型各种操作定义为类属性,在网络环境下传递private mt type;public DatagianiPacket dPacket=null; 由于数据报包类不能被继承,所以定 义一个数据报包类的引用/public static filial mt MESSAGESHOW_PIC_PER

2、SONAL = 1;/ public static final mt MESSAGESHOW_PHOTO = 2;public static filial mt MESSAGESHOW_WORD_PERSONAL = 3;/私人聊天操作public static filial mt MESSAGESHOW_WORD_GROUP = 4;群里聊天操作/ public static final mt MESSAGESHOW_PIC_GROUP = 5;/public static filial mt DATABASEHANDLE_FIND = 11;/public static filial mt

3、 DATABASEHANDLE_DEAL = 12;/public static filial mt DATABASEHANDLE_RESULT = 13;/public static filial mt DATABASEHANDLE_FLAG = 14;public static final mt USER_INFO = 21;用户信息操作public static final mt USER_LOGIN = 22;/用户登录操作public static final mt USER_REGISTER = 23;用户注册操作public static final mt FIND_USER=3

4、1;/查找好友操作public static final mt RETURN_USERINFO=32;返回用户信息操作public static final mt FIND_GROUP=33;/查找群号操作public static final int RETURN_GROUPINFO=34;返回群消息操作public static final mt JOIN_GROUP=35;加入一个群public static final int RETURN_GROUPMEMBERS=36;返回群组中成员信息加好友操作public static final mt MAKE_FRIENDS=37;publ

5、ic static final int SYSTEM_INFO = 91;系统消息public static final mt SYSTEM_ON_OR_OFFLINE = 92;/ 判断是否在线两个构造函数public QDatagianiPacket(byte b.mt length)dPacket=new DatagianiPacket(b.b.length);public QDatagianiPacket(byte b.mt length,hietAddress add,iiit port)dPacket=new DatagianiPacket(b.b.length.add.pon);

6、获得操作类型public int getTvpe()return this.type;设置操作类型public void setTvpe(int type)this.type=type;2.2.1功能分析本系统要实现的功能如下:1)注册服务器收到用户的注册请求,便开始接受客户传递的信息,诸如 客户的账号(必须为610个字符),呢称,性别,籍贯,个人资料等, 接受完毕后,便通过JdboOdbc与后台数据库连接,然后向数据库添加 记录。客户收到服务器返回的信息后,便打开主登陆窗口。2)登陆在客户端,用户输入其号码和密码,然后建立与服务器的连接,告 诉服务器我要登录,服务器收到后,开始通过JdbcO

7、dbc读取数据库, 然后与用户输入的信息比较,如果成功,便打开主程序窗口。然后客 户向服务器请求读取好友名单,服务器收到该请求,开始读取数据库 中的表,得到好友的号码后,再在icq表中读取好友资料,然后向客户 端发送这些信息,客户收到后就在主窗口显示好友,并且建立几个矢 量(VbctOT)用以存储好友的呢称,号码。3)私聊私聊就是两个聊天。客户端首先发送消息到服务器端,服务器端根 据发送人信息和接收者信息來转发。例如服务器接收到一个A发给B 的消息,先判断B是否已经在线,如果在线就将信息发送过去。B接 收到A发來的信息,如果是未建立对话窗口,就询问是否建立对话, 否则就丢弃信息。4)群聊群聊,

8、就是多人一起聊天。过程与私聊差不多。唯一的不同就是服 务器会将信息转发给指定群的所有成员。5)创建分组用户注册以后默认的好友分组只有一个。用户在执行添加分组操 作以后,客户端分将一个这个动作的信息发送给服务器端(主要是 FromClientlisten)o服务器端的fiomClientListen接收到这个请求,会进 行数据库操作,将要添加的分组信息插入到数据库中。如果成功,则 返回这个分组的信息给客户端,否则返回错误提示信息。6)创建群用户注册以后群个数为0。用户在执行添加群操作以后,客户端分 将一个这个动作的信息发送给服务器端(主要是FromClientlisten)o服 务器端的from

9、ClientListen接收到这个请求,会进行数据库操作,将要 添加的群信息插入到数据库中。如杲成功,则返回这个群的信息给客 户端,否则返回错误提示信息。7)查找好友并加为好友输入要查找的用户ID号,客户端发送一个查询信息给服务器端, 如果找到就返回用户服务信息。打开一个用户信息显示界面,该界面 会提供一个“添加为好友”按钮,点击后可将此人加为好友。如果未 找到,弹出一个信息提示框。8)查找群并加入群输入要查找的群ID号,客户端发送一个查询信息给服务器端,如 杲找到就返回用户服务信息。打开一个群信息显示界面,该界面会提 供一个“加入此群”按钮,点击后可将此人加为好友。如果未找到, 则弹出一个信

10、息提示框。9)保存聊天记录聊天记录可以保存于客户端,在某一个客户端发送一个消息的时候 可以先再临时文件中保存消息内容,再发送给服务器,再让服务器转 发,临时文件可以定期更新。图2-7删除好友活动图3#3.1功能模块图本系统主要由由两个子系统组成:;聊天子系统。聊天子系统的功能有:1)注册;2)登陆;3)添加群;4)查找群5)私聊;6)群聊;7)查看好友资料;8)查找好友;9)添加好友;10)创建好友分组。3.2数据库设计3.2.1 E-R 图#ID (分组(用户ID川厂IDID用户一分组好友分组1拥有1、ID密码个性签名头像创建分组名群1群公创建人群ID111拥账号QQ用户 表拥有用户一群ID

11、群ID川厂IDn留言ID图3-3系统ER图发信人内谷攵信人ID#用户表(QQUser):属性:id, account(登陆账号),pwd, nickname, sign(个性签名), sex, email, head(头像)关系:一个用户可以有多个好友分组。一个用户可以有多个群。一个用户可以有多条留言。好友分组表(QqpeTson_gToup):属性:id, userid(创建者ID), name(分组名)关系:一条记录只对应一个用户,但是可以拥有多个组成员。 群表(Qqpublic_gTOi】p):属性:id, userid(创建者ID号),name(群名),sign (群公告) 关系:一个

12、群只有一个创建者,但是可以拥有多个群成员。图3-4系统各表之间的联系图3.2.2表结构设计表3-1客户信息表(qqusei)1自动id号Id整数2用户账号Account整数3用户密码Pwd字符4用户昵称Nickname字符5用户签名sign字符6用户性别Sex字符7用户邮箱email字符8用户头像Head字符表32 Qq消息表(QQMessage)1自动IDID整数2发信人Account_from整数3收信人Account_to整数4发送内容Content字符表33 用户分组表(qqpeisongioup)1自动IDID整数2拥有者Iduserid整数3分组名称name字符表 3-4 公共群表

13、(qqpublic gioup)1自动IDID整数2创建人userid整数3群名称name整数4群的公共消息sign字符表3-5用户与群的中间表(qqusei publicgioup)1自动IDID整数2加入的群IDgroupid整数3加入的用户的IDuserid整数表36用户与分组的中间(QQusei persongioup)1自动IDID整数2加入的分组的idgroupid整数3加入分组的用户的 iduserid整数以上各表创建的代码如下:1)创建用户表create table qquser( number primary key, account number unique, nickn

14、ame varchar(lOO), sign varchar(500), sex varchar(lO), email varchar(lOO), head varchar(200);2) 创建分组表create table qqperson_Group(id number primaiy key,userid references qquser(id), name varchar(lOO);3) 创建群表create table qqpublic_group(id number primaiy key,userid number references qquser(id),name varchar(lOO),sign varchar(8OO);4) 创建消息表create table qqmessage( id number primaiy k

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号