1 获取在线列表功能实现
1.1 、客户端
这个功能,客户端的组包和解包的实现,和上一节的类似。
只是要注意:
为实时获得在线情况,我们需要用到定时器。通过定时器,周期的发送 获取在线列表 的数据包。
1.2 服务器端
为了能够保存客户端登录信息,我们使用链表,对客户端的登录信息进行保存。
这里用到了链表的基本操作。参考博客:
https://blog.youkuaiyun.com/cainiaofu/article/details/108534731
2、聊天功能的实现
2.1预期效果
点击在线用户列表中的某个ID,弹出对应的对话框。通过这个对话框,和这个ID聊天。
2.2 实现流程
假设现在有两个客户端(15和16),他们要将进行聊天。

我们在客户端15的列表中,点击16;表示要和16进行聊天。
我们在双击16的时候,通过信号与槽,创建和16的聊天界面。

这部分的代码如下:
//QModelIndex:被点击的文本 如果是和他人聊天,这个文本的内容就是对端ID

本文讲解了如何实现客户端定时获取在线列表、服务器端链表存储用户信息,以及通过双击事件创建并管理聊天界面。通过使用map容器避免重复创建,确保高效聊天体验。涉及的技术包括定时器、链表操作和信号槽机制。
最低0.47元/天 解锁文章
6219

被折叠的 条评论
为什么被折叠?



