玉兔远程控制 0.0.36
载入中...
搜索中...
未找到
ChannelSSHTunnelForward.h
1// Author: Kang Lin <kl222@126.com>
2
3#ifndef CHANNELSSHTUNNELFORWARD_H
4#define CHANNELSSHTUNNELFORWARD_H
5
6#include "ChannelSSHTunnel.h"
7
23{
24 Q_OBJECT
25public:
27 CParameterNet *remote,
28 CConnect *pConnect,
29 QObject *parent = nullptr);
31
32 // QIODevice interface
33public:
34 virtual bool open(OpenMode mode) override;
35 virtual void close() override;
36 virtual int Process();
37
38 enum class SOCKET_TYPE{
39 UnixSocket,
40 Socket
41 };
42
43Q_SIGNALS:
44 void sigServer(QString szHost, quint16 nPort);
45 void sigServer(QString szUnixDomainSocket);
46
47private:
48 socket_t m_Listen;
49 socket_t m_Connector;
50
51 SOCKET_TYPE m_SocketType;
52
53 int CloseSocket(socket_t &s);
54 int AcceptConnect();
55 int ReadConnect();
56 int SSHReadyRead();
57 int OpenSocket();
58#if defined(HAVE_UNIX_DOMAIN_SOCKET)
59 int OpenUnixSocket();
60#endif
61 char* m_pBuffer;
62 const int m_BufferLength = 1024;
63};
64
65#endif // CHANNELSSHTUNNELFORWARD_H
包括 SSH 隧道和用于转发数据的本地 SOCKET 服务。 实现通过本地 socket 与 SSH 隧道转发数据。适用于库没有实现传输层接口,只有 socket 的情况。
virtual bool open(OpenMode mode) override
连接接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Connect()、 slotTimeOut()、 OnProcess() 。 当然,它仍...
Definition Connect.h:45
网络连接参数接口。此类仅在插件内有效。 其界面为 CParameterNetUI