服务端程序的初步实现

1 服务端程序的初步实现

1.1 设计实现

服务端设计初步:
服务端程序的初步实现
设计要素分析:

  • 一般情况下,聊天服务端只负责消息传递。
  • 客户端的连接与断开是两个关键操作,必须消息通知。
  • 服务端能够随时对指定客户端发送消息。

如何设计使得服务端能够随时对指定客户端发送消息?

  • 客户端的连接(QTcpSocket对象)有唯一的标识符(ID)。
  • 可以通过ID查找对应的QTcpSocket对象,进而收发消息。

服务端程序的初步实现

1.2 代码实现

代码组织如下:
服务端程序的初步实现
首先看下ServerDemo.cpp中对于连接和断开的处理:
服务端程序的初步实现
接下来就是ServerHandler的实现:
服务端程序的初步实现

服务端程序的初步实现
main.cpp代码如下:
服务端程序的初步实现


参考资料:

  1. QT实验分析教程