I'm afraid you didn't understand how TCP native works.
A TCP telegram neither includes any length information nor a fixed end character. To when you start a T_RCV for example with length 6, the CPU will get 6 byte from the CP when the CP received 6 byte. When you send only 5 byte, there will be no data in the CPU. When you then send a second telegram with 5 byte the CPU will get 5 byte from the first telegram and the first byte of the second telegram. The remaining 4 bytes are stored in the CP.
You can only receive telegrams which have all got the same length and the parameter DATA of T_RCV must have even this length.