05/02/21 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
Al momento della creazione del Thread faccio in questo modo
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
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?
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
C# UI Designer
C# UI Designer