Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/TetraIF/PrtCnv/TetraTestServer/server.cpp
T

40 lines
895 B
C++

/*
* @RDE_HEADER@
* Listen Server for Tetra Simulation
* $Id$
* $HeadURL$
* $Author$
*/
#include "server.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include <QtNetwork/QTcpSocket>
#include "worker.h"
TTServer::TTServer(const TTSArgs &ttsArgs) : m_ttsArgs(ttsArgs)
.getNGLLogger("TTServer")),
m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
connect(this, &TTServer::newConnection, this, &TTServer::onNewConnection);
}
void TTServer::onNewConnection()
{
QTcpSocket *sock = nextPendingConnection();
if (!sock)
return;
NOTICE_LOG(m_logger) << "New incoming connection from " << sock->peerName() << ":" << sock->peerPort();
TTWorker *ttw = new TTWorker(sock, m_ttsArgs);
if (!ttw->init())
exit(5);
connect(sock, &QTcpSocket::disconnected, this, &TTServer::onDisconnect);
}
void TTServer::onDisconnect()
{
NOTICE_LOG(m_logger) << "Disconnected";
}