其他分享
首页 > 其他分享> > QQ项目 6.13

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

 

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

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