void *requeteThread(void *param){ client_t *client = (client_t *)param; int keep_alive = 0; int ret = 0; int endRequete = 0; initClientsBuffer(client); if(pthread_detach(pthread_self()) != 0){ perror("pthread_detach"); return NULL; } client->requete.use = 0; while((ret = readRequete(&client->requete, client->sock, &endRequete, true)) != -1){ traiterRequete(client, ret, &keep_alive, endRequete); if(!keep_alive){ break; } } if(client->sock != -1){ printf("\e[31mdéconnexion du client (%s):%s (socket %d)\e[0m\n", client->host, client->serv, client->sock); deconnexionClient(client); }
void FenServeur::nouvelleConnexion() { envoyerATous(tr("<em>Un nouveau client vient de se connecter</em>")); QTcpSocket *nouveauClient = serveur->nextPendingConnection(); clients << nouveauClient; connect(nouveauClient, SIGNAL(readyRead()), this, SLOT(donneesRecues())); connect(nouveauClient, SIGNAL(disconnected()), this, SLOT(deconnexionClient())); }
/** * @brief serveur::newConnexion */ void serveur::newConnexion() { //envoyerATous(tr("<em>Un nouveau client vient de se connecter</em>")); QTcpSocket *nouveauClient = server->nextPendingConnection(); clients << nouveauClient; connect(nouveauClient, SIGNAL(readyRead()), this, SLOT(donneesRecues())); connect(nouveauClient, SIGNAL(disconnected()), this, SLOT(deconnexionClient())); QTime current = QTime::currentTime(); log->append(QString("["+ (current.toString("HH:mm.ss a")) +"] : Connexion d'un nouveau joueur' ")); }