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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 公网IP和内网IP的区别? 什么是127.0.0.1?

    公网IP和内网IP的区别? 什么是127.0.0.1?IP地址是设备在网络上的唯一标识符,比如无线路由器有两个IP,公网IP(例如100.78.118.73)连接互联网,私有(内网)IP(如192.168.1.1)连接局域网,当设备连接WIFI上网,无线路由器就会给手机或者电脑分配一个私有IP。这里提出了两种IP,公网IP和内网IP。怎么理解呢?其实是因为近几十年广泛运用的IPV4地址枯竭,已经无法让每个设备都拥有一个IP了,于是NAT技术诞生,…

    2022年6月3日
    46
  • 面试官:请你谈谈Java的类加载过程[通俗易懂]

    面试官:请你谈谈Java的类加载过程[通俗易懂]刚刚走出校门的应届毕业生,如果在去寻求一份Java开发的工作时,你的面试官很有可能一边看着你的简历,一边漫不经心地问你:了解过Java类的加载过程吗?这个时候你一定要注意了,虽然这是一个老生常谈的问题,但是这也是一个非常能够考验你Java功底的问题。如果你答好了,这是你应该的;如果你没答好,那么对不起,面试官心中已经给了你不及格。今天,小编就Java类加载过程这个问题,抛砖引玉,说一下…

    2022年8月11日
    6
  • kubernetes k8s删除namespaces 时一直处在Terminating的问题解决

    kubernetes k8s删除namespaces 时一直处在Terminating的问题解决

    2021年5月13日
    147
  • mac redis客户端_redis关闭服务器命令

    mac redis客户端_redis关闭服务器命令我选择的是直接使用Mac的Homebrew工具安装redis,可以节省很多配置的时间。1.安装命令brewinstallredis2.使用配置文件启动redis$redis-server或brewservicesstartredis3.连接远程服务器的数据库$redis-cli-hhost-pport-apassword//eg:$redis-cli-h192.168.11.225-p6379-a“password”//eg:$redis-cli

    2025年11月30日
    6
  • pdaf的一些计算「建议收藏」

    pdaf的一些计算「建议收藏」 Pdaf数据获取流程根据上层的isCommand命令,在otp中获取到pdinfo。构建flowcontrolpdaf相关信息的结构体pd_profile,通过sendCommand在snesordriver文件中获取信息pdafcapacity、pdafinfo、vcinfo、cropwininfo。将矫正数据送入PDcore中,会将otp中的pdinfo和driver中进行对比,不一致则报错。在convertPDBufFormat中将pd点统一转换成raw16的格式,

    2025年9月24日
    6
  • 打开jupter notebook报错[WinError 10049]「建议收藏」

    打开jupter notebook报错[WinError 10049]「建议收藏」首先从anaconda下打开jupyternotebook,报错如下:File“F:\anaconda\Scripts\jupyter-notebook-script.py”,line10,insys.exit(main())File“F:\anaconda\lib\site-packages\jupyter_core\application.py”,line268,inlaunch_instancereturnsuper(JupyterApp,cls).launch_i

    2022年10月1日
    3

发表回复

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

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