3#include <QLoggingCategory>
6#include "ChannelSSHTunnelForward.h"
7#include "SSHTunnelThread.h"
9static Q_LOGGING_CATEGORY(log,
"Channel.SSH.Tunnel.Thread")
14 m_Parameter(parameter)
16 qDebug(log) <<
"CSSHTunnelThread::CSSHTunnelThread";
18 check = connect(
this, SIGNAL(finished()),
19 this, SLOT(deleteLater()));
23CSSHTunnelThread::~CSSHTunnelThread()
25 qDebug(log) <<
"CSSHTunnelThread::~CSSHTunnelThread";
28void CSSHTunnelThread::Exit()
33void CSSHTunnelThread::run()
36 qDebug(log) <<
"CSSHTunnelThread run";
42 bool check = connect(p, SIGNAL(
sigServer(QString, quint16)),
43 this, SIGNAL(
sigServer(QString, quint16)));
45 check = connect(p, SIGNAL(
sigServer(QString)),
48 if(!p->
open(QIODevice::ReadWrite)) {
52 while (!m_bExit && nRet >= 0) {
55 qCritical(log) <<
"Process fail" << p->errorString();
64 emit sigError(nRet, p->errorString());
68 qDebug(log) <<
"CSSHTunnelThread end";
包括 SSH 隧道和用于转发数据的本地 SOCKET 服务。 实现通过本地 SOCKET 与 SSH 隧道转发数据。适用于库没有实现传输层接口,只有 socket 的情况。
virtual bool open(OpenMode mode) override
实现通过本地 SOCKET 与 SSH 隧道转发数据。适用于库没有实现传输层接口,只有 socket 的情况。
void sigServer(QString szHost, quint16 nPort)
当 SOCKET 服务建立监听后触发,用于通知其它本地 SOCKET 可以连接它