// Copyright (C) 2016 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause #include "chatserver.h" #include "../shared/websocketclientwrapper.h" #include "../shared/websockettransport.h" #include #include #include int main(int argc, char** argv) { QCoreApplication app(argc, argv); QWebSocketServer server(QStringLiteral("QWebChannel Standalone Example Server"), QWebSocketServer::NonSecureMode); if (!server.listen(QHostAddress::LocalHost, 12345)) { qFatal("Failed to open web socket server."); return 1; } // wrap WebSocket clients in QWebChannelAbstractTransport objects WebSocketClientWrapper clientWrapper(&server); // setup the channel QWebChannel channel; QObject::connect(&clientWrapper, &WebSocketClientWrapper::clientConnected, &channel, &QWebChannel::connectTo); // setup the dialog and publish it to the QWebChannel ChatServer* chatserver = new ChatServer(&app); channel.registerObject(QStringLiteral("chatserver"), chatserver); return app.exec(); }