Вы микрооптимизируете. Как вы думаете, почему еще 4 байта повлияют на производительность?
Другими словами: используйте заголовок длины.
Обновление
Я видел твой комментарий к другому ответу. Вы используете BeginRead
неправильно. Он никогда не будет блокировать или ждать, пока весь буфер не будет заполнен.
Вы должны объявить буфер, который может принимать все ваше сообщение. Возвращаемое значение из EndRead
сообщит о количестве полученных байтов.
Вы также должны знать, что TCP основан на потоке. нет гарантирует, что все ваше сообщение JSON будет получено сразу (или что будет получено только ваше первое сообщение). Поэтому у вас должен быть какой-то способ узнать, когда сообщение завершено.
И еще раз говорю: длина заголовка вряд ли повлияет на производительность.