The first line is never correct.
So you have discovered that for a good protocol between sender and receiver you not only need field separators and record separators but also a record start character to get synchonization ![]()
Still I propose you change the system that you not wait for 7 or 8 fields but just for a field value pair. This makes it also easier to expand in the future!