Oppure

Loading
05/02 8:00
Thejuster
Buongiorno sto scrivendo un server che supporti piu client connessi temporaneamente.

Il problema sta nel ottenere dagli altri client un socket esempio cosa sta facendo.

un esempio:
Socket 667 sta in room 24
Socket 662 sta in room 24
Socket 255 sta in rom 35


Quello che deve fare ogni socket è ovviamente ottenere la lista di tutti i client connessi al server
ed ottenere la loro effettiva posizione.
Siccome i socket sono divisi in Thread per una maggiore efficienza di trasmissione e gestione dei dati,
ogni Thread funziona e viene gestito in modo unico.

Al server ho aggiunto una lista


//Server.h

QList<QSharedPointer<Thread> > clients;




Al momento della creazione del Thread faccio in questo modo


Thread *thread = new Thread(clientID, this);
        clients.append(QSharedPointer<Thread>(thread));



Quindi vado aggiungere alla lista tutti i Thread al quale i socket sono connessi.

Da Thread però ora non so come accedere alla lista contenuta nel server.
Prima di tutto dovrei avere accesso all'oggetto server ma quando provo

  if(QString(Data).contains("getid"))
    {
        Server s = static_cast<Server>(this->parent());
    }



Mi viene fuori l'errore

server.h:102: error: 'QTcpServer::QTcpServer(const QTcpServer&;)' is private

Non capisco chiaramente perché mi reputa il TcpServer come privato.

Soluzioni?



mire.forumfree.it/ - Mire Engine
10/02 8:18
TheKaneB
Stai creando una nuova istanza dell'oggetto server e il costruttore per copia è stato reso privato, probabilmente per evitare cose brutte. Di solito si fa così perchè la classe in questione ha un iter di inizializzazione complesso oppure perchè acquisisce risorse globali comportandosi da singleton.
Se proprio vuoi condividere il server passa un puntatore, oppure se vuoi fare una cosa più pulita prova a condividere solo la struttura che contiene la lista che ti interessa invece dell'intero oggetto server.

Ciao!
aaa
15/02 16:54
Thejuster
non ci sarei mai arrivato.
Grazie mille sensei.

:ot:
Quanto tempo che è passato da quando ridevamo coi ciaffi alla vecchia chat irc :rotfl:
mire.forumfree.it/ - Mire Engine