前言
现在在逐步将项目中的功能块,这样子可以针对不同用户需求,灵活启用或卸载部分功能。目前,我们采用的方案是将功能打包成独立的exe,在启用时通过进程间通信进行交互。这里就涉及到进程间通信的技术,常用的技术有几种:
- TCP/IP
- 共享内存
- QProcess
- 命名管道
这里主要介绍命名管道的使用
步骤
QLocalServer(服务端)
- 创建QLocalServer
- 调用server的listen(“a specified key”)函数进行监听新的连接
- 接收server发送的newConnection信号
- 调用server的nextPendingConnection()函数来获取一个连接的QLocalSocket对象
- 接收该QLocalSocket对象发射的三种信号进行业务处理:readyRead、socketError和disconnected
QLocalSocket(客户端)
- 创建QlocalSocket
- 调用socket的connectToServer(“a specified key : 与上边server的key保持一致”)函数进行连接
- 接收该socket发射的readyRead信号处理交互的数据
具体代码
1 | // 1. 服务端 |
Comments