1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
// Copyright (C) 2018 Ford Motor Company
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include "pingpong.h"
#include "sslserver.h"
#include <QCoreApplication>
#include <QDebug>
#include <QSslConfiguration>
#include <QRemoteObjectHost>
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
QRemoteObjectHost host;
auto config = QSslConfiguration::defaultConfiguration();
config.setCaCertificates(QSslCertificate::fromPath(QStringLiteral(":/sslcert/rootCA.pem")));
QSslConfiguration::setDefaultConfiguration(config);
SslServer server;
server.listen(QHostAddress::Any, 65111);
host.setHostUrl(server.serverAddress().toString(), QRemoteObjectHost::AllowExternalRegistration);
QObject::connect(&server, &SslServer::encryptedSocketReady, &server, [&host](QSslSocket *socket){
QObject::connect(socket, &QSslSocket::errorOccurred,
socket, [](QAbstractSocket::SocketError error){
qDebug() << "QSslSocket::error" << error;
exit(1);
});
host.addHostSideConnection(socket);
});
PingPong pp;
host.enableRemoting(&pp);
return app.exec();
}
|