ich habe einen eigenen TCP-Server in C geschrieben. Einlesen der Float-Werte (= Single-Werte) und TDateTime funktioniert soweit auch. Nun wollte ich die von Zusi gelieferten String-Werte einlesen, habe da aber so meine Probleme. In den meisten fällen werden sie "scheinbar" korrekt übertragen und ich kann sie richtig interpretieren, doch manchmal schaut es so aus, dass die Länge des Strings nicht richtig angegeben wird (erstes Byte nach der ID). In dem String befinden sich Steuer- und Sondereichen, nachfolgende Daten werden nicht mehr richtig interpretiert. Array-Überlauf und fehlerhafte 0-terminierender String in meinem Code habe ich bereits ausschließen können.
Hier mal mein Codeausschnitt:
Code: Alles auswählen
// einlesen der Daten über TCP-Verbindung
int id = empfangeneDaten[0];
int laenge = (unsigned int) empfangeneDaten[1];
if(laenge != 0)
{
// Zeichen ab empfangeneDaten[2] bis empfangeneDaten[laenge] als String interpretieren
}
Gruß
Georg