QLocalServer和QLocalSocket本地多进程通信支持多开,看门狗,多客户端

张开发
2026/4/10 19:24:45 15 分钟阅读

分享文章

QLocalServer和QLocalSocket本地多进程通信支持多开,看门狗,多客户端
一.使用背景 1.用于进程通信,算法,服务等执行耗时,容易崩溃或者卡顿等场景。 2.数据通信用于多线程的收发。 3.需要看门狗实时监控子进程服务的动态,出现异常能够拉起。 4.添加心跳机制,主进程实时监控。 5.将QT socket通信移至QThread里面,不阻塞主线程。二.注意事项 1.QLocalServer 在使用时,一定要注意QLocalServer的对象和线程通信必须在同一个线程类。这就使得在使用多线程通信的前提下,我们不能使用其他的多线程通信方式,例如:movetoThread,队列等方式创建多线程。 2.localServer的套接字名称一定不能相同,不然导致连接不上或者创建套接字失败。这里可以这样写:m_serverName = serverName + "_" + QString::number(QDateTime::currentMSecsSinceEpoch());保证每次启动的套接字名称不一致。 3.listenBacklogSize() 套接字的积压队列大小。就是服务端并发数处理的关键设置。服务器还没有调用 nextPendingConnection

更多文章