3#include "ConnectThread.h"
4#include <QLoggingCategory>
6static Q_LOGGING_CATEGORY(log,
"Client.ConnectThread")
14 m_pConnecter(pConnect)
17 check = connect(
this, SIGNAL(finished()),
18 this, SLOT(deleteLater()));
22CConnectThread::~CConnectThread()
24 qDebug(log) <<
"CConnectThread::~CConnectThread";
39 qDebug(log) << Q_FUNC_INFO <<
"start";
41 Q_ASSERT(m_pConnecter);
46 qCritical(log) <<
"InstanceConnect fail";
53 pConnect->deleteLater();
63 pConnect->deleteLater();
68 qDebug(log) << Q_FUNC_INFO <<
"end";
此类仅用于 CConnecterThread 。 一个线程只处理一个连接
virtual void run() override
连接接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Connect()、 slotTimeOut()、 OnProcess() 。 当然,它仍...
virtual int Disconnect()
断开
virtual int Connect()
开始连接。根据 OnInit() 返回值来决定是否开始定时器来支持非 qt 事件
virtual CConnect * InstanceConnect()=0
新建 CConnect 对象。它的所有者是调用者, 如果调用者不再使用它,调用者必须负责释放它。
默认启动一个后台线程。实现一个后台线程处理一个连接。 可与插件接口从 CPluginClient 派生的插件一起使用,用于连接是阻塞模型的。
void sigDisconnected()
断开连接成功信号。仅由插件触发
void sigDisconnect()
通知用户断开连接。仅由插件触发。 当从插件中需要要断开连接时触发。例如:对端断开连接、重置连接或者连接出错。 当应用接收到此信号后,调用 DisConnect() 关闭连接。