/** * Slot * @brief Serveur::pretALire */ void Serveur::readyRead() { QTcpSocket *client = (QTcpSocket*)sender(); while(client->canReadLine()) { QString ligne = QString::fromUtf8(client->readLine()).trimmed(); qDebug() << "Read line:" << ligne; QRegExp meRegex("^/me:(.*)$"); if(meRegex.indexIn(ligne) != -1) { QString utilisateur = meRegex.cap(1); m_utilisateurs[client] = utilisateur; foreach(QTcpSocket *client, m_clients) client->write(QString("Serveur:" + utilisateur + " a rejoint le serveur.\n").toUtf8()); envoyerListeUtilisateur(); } else if(m_utilisateurs.contains(client)) { QString message = ligne; QString utilisateur = m_utilisateurs[client]; qDebug() << "Utilisateur:" << utilisateur; qDebug() << "Message:" << message; foreach(QTcpSocket *otherClient, m_clients) otherClient->write(QString(utilisateur + ":" + message + "\n").toUtf8()); } else { qWarning() << "Erreur du client:" << client->peerAddress().toString() << ligne; } } }
void ChatBoxServer::readyRead() { // Used to retrieve a pointer to the client QTcpSocket *client = (QTcpSocket*)sender(); while(client->canReadLine()) { QString line = QString::fromUtf8(client->readLine()).trimmed(); qDebug() << "Read line:" << line; QRegExp meRegex("^/me:(.*)$"); if(meRegex.indexIn(line) != -1) { QString user = meRegex.cap(1); // Insert username into QMap users[client] = user; foreach(QTcpSocket *client, clients) client->write(QString("Server:" + user + " has joined.\n").toUtf8()); sendUserList(); } else if(users.contains(client)) { QString message = line; QString user = users[client]; qDebug() << "User:"******"Message:" << message; foreach(QTcpSocket *otherClient, clients) otherClient->write(QString(user + ":" + message + "\n").toUtf8()); } else { qWarning() << "Got bad message from client:" << client->peerAddress().toString() << line; } } }
void Servernet::readyRead() { QTcpSocket *client =(QTcpSocket*)sender(); while(client->canReadLine()) { QString line = QString::fromUtf8(client->readLine()).trimmed(); QRegExp meRegex("^/me:(.*)$"); QRegExp commandRegex("^/command:(.*)$"); if(meRegex.indexIn(line) != -1 && players.size()<=this->playernumber) ///az auth rész { QString user = meRegex.cap(1); players.insert(client,user); Command c((uchar)clients.size(),(uchar)255,(int)survive?0:1); client->write(c.ToString().toUtf8()); client->flush(); emit NewPlayerConnected(); sendusernames(); if(players.size()==this->playernumber)emit AllPlayersConnected(); } else if(commandRegex.indexIn(line) != -1) ///command jön a klienstől { uchar id,type; int msg; QStringList command = commandRegex.cap(1).split(' '); id=(uchar)command.at(0).toInt(); type=(uchar)command.at(1).toInt(); msg=command.at(2).toInt(); emit CommandReceivedFromClients(Command(id,type,msg)); } else ///egyéb hülyeség jön a klienstől { qDebug() << "hülyeség jött"; } } }