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
------------恢复内容结束------------
浙公网安备 33010602011771号