#include "server.h" #include Server::Server(QObject *parent) : QObject(parent) { qDebug() << "----------------------------"; qDebug() << "network interfaces:"; foreach(const QNetworkInterface &interface, QNetworkInterface::allInterfaces()){ qDebug() << " -------------------------"; qDebug() << " name:" << interface.name(); qDebug() << " mac: " << interface.hardwareAddress(); } qDebug() << "----------------------------"; // Listen on all Networkinterfaces foreach(const QHostAddress &address, QNetworkInterface::allAddresses()){ QTcpServer *server = new QTcpServer(this); if(server->listen(address, 1234)) { qDebug() << "server listening on" << address.toString(); connect(server, SIGNAL(newConnection()), SLOT(incomingConnection())); m_serverList.append(server); } else { qDebug() << "ERROR: can not listening to" << address.toString(); delete server; } } } void Server::incomingConnection() { // got a new client connected QTcpServer *server = qobject_cast(sender()); QTcpSocket *newConnection = server->nextPendingConnection(); qDebug() << "new client connected:" << newConnection->peerAddress().toString(); // append the new client to the client list m_clientList.append(newConnection); connect(newConnection, SIGNAL(readyRead()), SLOT(readPackage())); } void Server::readPackage() { }