ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

QQ项目 6.13

2022-06-13 06:00:06  阅读:162  来源: 互联网

标签:QQ java Socket 项目 6.13 private ------------ 线程 客户端


------------恢复内容开始------------

qq客户端内容

## 总述:

 

 

服务包中:

 

 ClientConnectServerThread.java    客户端连接服务端中的线程

private Socket socket;//里面只有socket这个私有属性

 

 

 

 

ManageClientConnectServerThread.java   管理客户端连接服务端的线程 == 如何存放线程

用集合存放的好处  多用户通信是多对多的,单个的线程无法满足其需求,需要使用集合来对不同的线程进行管理

//我们把多个线程放入到HashMap集合,key是用户ID,value就是线程
private static HashMap<String,ClientConnectServerThread> hm = new HashMap<>();

UserClientService.java   该类完成用户登录验证和用户注册等功能

 //因为我们可能仔其他地方使用User信息,因此做出成员属性
    private User u = new User();
 //因为Socket在其他地方也可能使用,因此作成属性
    private Socket socket;

如何进行账号密码验证:

  1. 检查账号密码正确:获得输出流,将对象打入到通道中传给服务器
  2. 获得账号密码对应的信息:获得输入流,得到对象流,这里需要强转,将Object转化成Message对象

 User,Message.java  表示客户端和服务器端通信时的消息对象   表示一个用户/客户信息

qq服务端

 

 

 ServerConnectClinetThread.java        该类的对象和某个客户端保持通信

 

    private Socket socket;
    private String userId;//连接到服务端的用户id

 

------------恢复内容结束------------

标签:QQ,java,Socket,项目,6.13,private,------------,线程,客户端
来源: https://www.cnblogs.com/a111l/p/16369475.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有