aa1807a 2015-06-19 06:09 采纳率: 0%
浏览 3951

QtSsl 出现the remote host closed connection 问题

刚开始学QtSsl 一直找不到什么例子 好不容易看到个 问题是 运行的时候 Client出现了the remote host closed connection的问题 代码如下:
ClientExample::ClientExample(QObject *parent):
QObject(parent)
{

}

void ClientExample::run()
{
QString hostName = "127.0.0.1";
quint16 port = 23333;

QByteArray cert;
QSslSocket client_socket;

QFile file_cert("c:\\Ssl\\bin\\servercert.pem");
if(file_cert.open(QIODevice::ReadOnly))
{
    qDebug()<<"Cert is Ok";
    cert = file_cert.readAll();
    file_cert.close();
}
else
{
    qDebug()<<file_cert.errorString();
}

QSslCertificate ssl_cert(cert);
client_socket.addCaCertificate(ssl_cert);
client_socket.connectToHostEncrypted(hostName, port);
qDebug()<<"Client has connect the IP"<<hostName<<port;

if(client_socket.waitForEncrypted(-1))
{
    qDebug()<<"Connected";
    client_socket.write("Hello, World!");

    if(client_socket.waitForBytesWritten(-1))
        qDebug()<<"Message sent";

    else
        qDebug().nospace()<<"Error: Coulen't send message ("<<qPrintable(client_socket.errorString())<<")";

    while(!client_socket.waitForDisconnected()){

        QThread::msleep(10);
        qDebug()<<"Disconnected";

    }
}

else
{
    qDebug().nospace()<<"Error: Couldn't not establish encrypted connection ("<<qPrintable(client_socket.errorString())<<")";
}

this->deleteLater();
QThread::currentThread()->quit();
qApp->exit();

}

  • 写回答

2条回答

  • oyljerry 2015-06-19 06:39
    关注

    你发起的连接,被server拒绝了,是否允许你连接

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大