Files
qt5-legatus-legacy/Lts/Proxies/WirelessLocationSystem/wls_json_client_test.cpp
T
2026-08-13 18:33:10 +02:00

65 lines
1.7 KiB
C++
Executable File

/**
* Small test program to connect to the wls websocket
* $Id$
* $HeadURL$
* $Author$
* Created by Christian Ehrlicher, SLSE, 2017-01-10
*/
#include "wls_json_client_test.h"
#include <QCoreApplication>
#include <QStringList>
#include <QString>
#include <QTimer>
WlsJsonclientTest::WlsJsonclientTest(const QString &hostname, unsigned short port)
: m_socket(new QWebSocket(QString(), QWebSocketProtocol::VersionLatest, this))
, m_hostname(hostname)
, m_port(port)
{
connect(m_socket, &QWebSocket::connected, this, &WlsJsonclientTest::onConnected);
connect(m_socket, &QWebSocket::disconnected, this, &WlsJsonclientTest::onClosed);
connect(m_socket, &QWebSocket::textMessageReceived, this, &WlsJsonclientTest::onTextMessageReceived);
QTimer::singleShot(0, this, &WlsJsonclientTest::run);
}
void WlsJsonclientTest::run()
{
const QUrl url(QStringLiteral("ws://%1:%2/").arg(m_hostname).arg(m_port));
qDebug("Trying to connect to %s", qPrintable(url.toString()));
m_socket->open(url);
}
void WlsJsonclientTest::onConnected()
{
qDebug("Connected to web socket server");
}
void WlsJsonclientTest::onClosed()
{
qWarning("Socket closed - quit app");
QCoreApplication::quit();
}
void WlsJsonclientTest::onTextMessageReceived(const QString &msg)
{
qDebug("Received text msg: '%s'", qPrintable(msg));
}
int main(int argc, char **argv)
{
QCoreApplication app(argc, argv);
unsigned short port = 12346;
QString hostname = QStringLiteral("localhost");
if (app.arguments().size() > 1)
hostname = app.arguments().at(1);
if (app.arguments().size() > 2)
port = app.arguments().at(2).toUShort();
WlsJsonclientTest *w = new WlsJsonclientTest(hostname, port);
int ret = app.exec();
delete w;
return ret;
}