int i;
for (i = 0; i < socketlist.size(); i++)
{
socketlist.at(i)->write(QString("Ping").toUtf8());
}
}
Im anden Programm sehe ich das erstmal als Hex.
Aber eine Prinzipielle Frage hab ich da...
ist das besser mit ".toUtf8()" oder mit ".toAscii()" oder mit ".toLatin1()" ?
oder ist das eine Glaubensfrage ...
mfg speedy
Zuletzt geändert von speedy am 30. April 2009 15:36, insgesamt 1-mal geändert.
Es kommt drauf an was Du schickst - wenn es nur ASCII-Daten sind reicht .toAscii(). Am sinnvollsten ist natürlich utf-8. Kommt allerdings auch drauf an ob spezifiziert wurde was gesendet werden soll.
hmm ich glaub es wird was komplizierter.
Ich muss warscheinlich 2 * int, 1 QString und 2*bool verschicken.
Überleg mir jetzt erstmal wie ich das sinvoll in ein QByteArray packe.
Vielleicht schreib ich noch die versendete länge am Anfang mit rein...
Naja ich habs jetzt etwas anders gelöst.
Aber Ähnlich.
Ich Packe alles in ein QString
Jedes Datenpaket hat ein <START> und ein <END>
dazwischen hab ich meine Daten jeweils mit einem * getrennt.
Mein QString hat sonst auch keine * Zeichen, daher ist das kein Problem.
Hab nur gemerkt das manchmal mehr als nur ein Datenpaket auf einmal ankommt.
Muss nur noch den Teil der da zwischen kommt an den * dingern wieder auseinander schneiden und noch checks machen ob das vernünftige Daten sind.
Sollte ich noch Checksummen machen?
Oder ist das ein wenig übertrieben ...
so geschafft.
Die Daten werden jetzt richtig erkannt und können somit auch das SIGNAL in meinem Client starten ^^
Das sollte doch erstmal langen für heute.
... oh man schon 4 Uhr ... mein Bett ruft schon.