Wenn der Spieler schnell hintereinander mehrere Befehle rüber sendet, werden die zwar der Reihenfolge nach abgehandelt aber es sammelt sich an und ich hab nun versucht mit ner For-Schleife die Befehle abzufangen und zu verwerten, aber ich hab immer noch das selbe Problem...
Code: Alles auswählen
void tron::startRead()
{
//anzahl der bytes
int anzahlbytes = pServerClient->bytesAvailable();
//wenn weniger als 1 byte warten sonst aus der methode kicken
if (anzahlbytes < 1)
return;
// anzahl bytes lesen
QByteArray empfangpacket;
empfangpacket = pServerClient->read(anzahlbytes);
//eingelesenes bearbeiten
for(int test = 0;test <= anzahlbytes;test++){
switch(empfangpacket[test]){
case 's':QMessageBox::information(this,"Bereit?","Wenn sie bereit sind bitte Bereit anklicken.",QMessageBox::Ok);
ui->pushButton_bereit->setEnabled(true);
erster=false;
break;
case 'g': startspielok();
break;
default :
richtungzahl = empfangpacket[test];
qDebug()<<"richtung: "<<richtungzahl;
richtung();
break;
}
}
update();
}
Hoffe jemand kann mir helfen, denn ich sitze schon seit 2 Tagen davor und mir fällt nichts mehr ein.