Sorry, hatte erst jetzt wieder Zeit mich damit zu beschäftigen.
Ich danke dir für deine Hilfe und auch für deine Tips zu meinem Code.
Das Problem ist gelöst.
Nachdem der anfang erkannt wurde, werden die folgenden Pakete in einen Puffer geschrieben und dann wird im Puffer nach dem Ende gesucht. Ist das Ende gefunden, werden die daten vom anfang des Puffers bis zur gefundenen Positon des "ende" kopiert (also die überlüssigen Daten im Puffer entfernt). Der Rest ist wie gehabt.
Da die Datenmengen gering sind, ist der Puffer nicht groß und es gibt keine Probleme.