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;
如何进行账号密码验证:
- 检查账号密码正确:获得输出流,将对象打入到通道中传给服务器
- 获得账号密码对应的信息:获得输入流,得到对象流,这里需要强转,将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