客户端程序初步加入网络通讯的功能
1 客户端初步加入网络通讯的功能
1.1 设计方案
在主窗口类中使用客户端类:
初步设计方案:
- 主窗口通过ClientDemo进行消息收发。
- 主窗口通过TxtMsgHandler接口收取消息。
- 网络消息通过TextMessage进行传递(TextMessage::data())。
- 最终,将网络消息显示在文本控件中。
连接服务端的流程如下:
两个关键的操作:
- 连接成功:
- 当服务端连接成功,需要改变界面组件的状态(收发消息状态)。
- 断开连接:
- 当与服务端的连接断开,恢复界面状态为初始态(未登录状态)。
定义关键操作对应的消息:
1.2 代码实现
文件组织如下:
我们需要为MainWindow添加用于网络通信的ClientDemo对象,并继承自接口TxtMsgHandler:
MainWinSlot.cpp种需要新添加如下函数:
MainWinUI.cpp中添加如下函数:
并修改下构造函数:
然后我们需要在CilentDemo.cpp中实现连接和断开连接时发出指定的消息:
参考资料: