在上 2 次文章 Qt 学习之路_5(Qt TCP 的初步使用) Qt 学习之路_4(Qt UDP的初步使用) 中
已经初步介绍了群聊功能和文件传输功能,这一节中主要在这个基础上加入一个私聊功能。
参 考文 献依旧 是:《Qt 及 Qt Quick 开 发实战 精解 》一 书中的 第 5 个例 子以及
http://www.yafeilinux.com/ 网站上的源码。另外这次的私聊功能也是参考网友
http://www.qtcn.org/bbs/read-htm-tid-32609.html 的,他的程序有些 bug,其中最严重的 bug
是当私聊第二次聊天的时候对方会接收不到信息。这次主要是将这个 bug 和其它一些小 bug
修补了,但是仍然有一个漏洞就是:当第二次私聊时,后面那个的发送方收到信息的时候有
可能会多一个窗口弹出来。目前还找不到其原因。猜想是:在第一次聊天接收时关闭聊天窗
口后,其内存没有释放。但是当窗口关闭时我们觉得其内存释放应该在 Qt 内部自己实现。
下面来讲一下私聊发送端和接收端具体实现过程。
发送端流程图如下:
接收端的流程图如下:
- 1
- 2
- 3
- 4
- 5
- 6
前往页