java山寨qq账号密码验证_Java实战-山寨QQ

java山寨qq账号密码验证_Java实战-山寨QQ功能:1.登录界面QQClientLogin.java,好友界面QQFriendList.java,聊天界面QQChar.java2.当用户点击登录后,把账号密码发送给QQserver.java,通过SqlHelper.java访问数据库进行验证3.好友一对一聊天功能4.好友多对多聊天功能5.好友在线显示彩色头像,不在线显示灰色头像6.好友上线提示7.自己不能和自己聊天8.不能和不在线的好友聊天S…

大家好,又见面了,我是你们的朋友全栈君。

功能:

1.登录界面QQClientLogin.java,好友界面QQFriendList.java,聊天界面QQChar.java

2.当用户点击登录后,把账号密码发送给QQserver.java,通过SqlHelper.java访问数据库进行验证

3.好友一对一聊天功能

4.好友多对多聊天功能

5.好友在线显示彩色头像,不在线显示灰色头像

6.好友上线提示

7.自己不能和自己聊天

8.不能和不在线的好友聊天

Server部分包含的包有:

1、com.qq.server.view (服务端界面包)

1.1、QQServerFrame.java (服务端主页面)

2、com.qq.server.model (业务逻辑包)

2.1、QQServer.java (服务器验证客户信息)

2.2、QQServerUser.java (用于管理QQ用户信息[此包功能应为对数据库逻辑操作])(空)

3、com.qq.server.db (数据库操作包)

3.1、SqlHelper.java (对数据库的CURD操作[只有验证功能])

4、com.qq.server.tools (服务端工具包)

4.1、ServerConClientThread.java (服务器连接客户端线程)

4.2、ManageClientThread.java (管理客户端连接线程)

5、com.qq.common (通用包)

5.1、Message.java (消息类)

5.2、MessageType.java (消息类型接口类)

5.3、User.java (用户信息类)

Client部分包含的包有:

1、com.qq.client.view (客户端界面包)

1.1、 QQClientLogin.java (QQ登录界面)

1.2、 QQFriendList.java (好友列表界面)

1.3、 QQChat.java (聊天界面)

2、com.qq.client.model (客户端业务逻辑包)

2.1、QQClientConServer.java (客户端连接服务端的后台用于与服务端数据交互)

2.2、QQClientUser.java (客户端用户操作逻辑类)

3、com.qq.client.tools (原应为客户端工具包,现为处理与服务端的线程包)

3.1、ClientConServerThread.java (客户端连接服务器线程类)

3.2、ManageClientConServerThread.java (管理C/S线程类)

3.3、ManageQQChat.java (管理聊天界面类)

3.4、ManageQQFriendList.java (管理好友列表类)

4、com.qq.common (通用包)

4.1、Message.java (消息类)

4.2、MessageType.java (消息类型类)

4.3、User.java (用户信息类)

注意:Server与Client中的com.qq.common通用包主要功能是统一保持客户端与服务端的用户及消息一致。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162215.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • new TypeReference用法 fastjson[通俗易懂]

    new TypeReference用法 fastjson[通俗易懂]newTypeReference用法fastjson个人觉得涉及到的场景还是比较多的,多数我都用在调别人接口获取到的一些信息,然后映射实体的情况。不知道这个方法的时候每次拿到一个字符串想去映射对象的时候,就jsonobject各种转换,转的自己都不想看自己写的代码,废话不多说上代码!!!//这个newtypeReference导入的包是packagecom.alibaba.fastjson;//它还有一个包是packagecom.fasterxml.jack

    2022年6月22日
    204
  • 神经网络与BP神经网络

    神经网络与BP神经网络

    2021年11月19日
    34
  • 104规约 scada

    104规约 scada104规约的报文帧分为三类:I帧、S帧和U帧。I帧称为信息帧,长度一定大于6个字节,被称作长帧,用于传输数据;S帧称为确认帧,长度只有6个字节,被称作短帧,用于确认接收的I帧;U帧称为控制帧,长度只有6个字节,也被称作短帧,用于控制启动/停止/测试。长帧报文分为APCI和ASDU两个部分,而短帧报文只有APCI部分。APCI的6个字节是这样构成的:起动字符68H,1个字节;后面的报文长

    2022年6月20日
    69
  • 2012服务器系统密钥,WINDOWS SERVER 2012标准版密钥[通俗易懂]

    2012服务器系统密钥,WINDOWS SERVER 2012标准版密钥[通俗易懂]js获取浏览器内核、类型、版本以及系统类型正则表达式:varrsys=/\b(windows|win32|macintosh|macosx|adobeair|linux|unix)\b/;varrkn=/\b(opera|…docker组件(c/s)Docker组件1.dockerclient:docker…

    2022年8月31日
    3
  • layui 传递前端请求_layui弹出层如何传值

    layui 传递前端请求_layui弹出层如何传值layui弹出层传值的实现方法:1、从主窗口传值到弹出层;2、从弹出层传值到主窗口;3、通过session互传;4、通过调用父窗口的函数从而获取到父窗口的值。本教程操作环境:Windows7系统、layui1.0版,该方法适用于所有品牌电脑。主要有两部分从主窗口传值到弹出层从弹出层传值到主窗口通过session互传通过调用父窗口的函数从而获取到父窗口的值(相反也是可以的)1、从主窗口传值到弹出层首…

    2022年6月6日
    153
  • 第十一章 :日志采集工具flume使用

    第十一章 :日志采集工具flume使用第十一章 :日志采集工具flume使用

    2022年4月23日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号