QQ项目 6.13

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

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

 

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

posted @ 2022-06-13 05:32  精通+1  阅读(48)  评论(0)    收藏  举报