通过QTcpSocket转发所有数据

通过QTcpSocket转发所有数据,qt,qtcpsocket,qtnetwork,libssh,Qt,Qtcpsocket,Qtnetwork,Libssh,我有一个使用libssh的ssh隧道设置。但是,这不会将其绑定到本地端口,因此我需要的基本上是将端口上接收到的所有数据转发到ssh通道。但是,当我这样做时: QTcpSocket* socket = new QTcpSocket(); socket->bind(27017); QObject::connect(socket, &QTcpSocket::readyRead, this, &Forwarder::newData); 从不调用newData插槽,即QTcpSo

我有一个使用libssh的ssh隧道设置。但是,这不会将其绑定到本地端口,因此我需要的基本上是将端口上接收到的所有数据转发到ssh通道。但是,当我这样做时:

QTcpSocket* socket = new QTcpSocket();
socket->bind(27017);

QObject::connect(socket, &QTcpSocket::readyRead, this, &Forwarder::newData);
从不调用
newData
插槽,即QTcpSocket上的
readyRead
。每当我试图通过外部脚本连接到端口时,我都会得到一个操作超时。我确信至少该端口已打开,因为当Qt应用程序未运行时,我得到的错误是连接被拒绝


我已经考虑过使用
qtcserver
,但是,我该如何处理这种情况呢?我可能会得到
newConnection
信号,但是我应该向ssh通道写入什么数据呢?如何处理QTcpServer的多个传入连接?连接请求不也是一个数据包吗?我是否可以不将所有内容转发到该通道(我所指的ssh通道类似于我可以简单写入的fd)。

您确定该端口有传入数据?您是否研究过《财富》服务器示例?