Я бы прочитал в байтовом массиве .... единственный недостаток: ограниченный размер. Вам нужно будет знать определенный лимит количества байтов или иногда сбрасывать массив байтов в коллекцию байтов вручную, а затем преобразовывать коллекцию обратно в массив байтов, также преобразовывать ее в строку с помощью bitConverter и, наконец, разбивать его на реальные сообщения: p
У вас будет много накладных расходов на очистку массива в коллекцию ... НО, очистка строки потребует больше ресурсов, поскольку байты должны быть декодированы, поскольку вы сбрасываете их в строку .... для вас ... вы можете выбрать простоту со строкой или эффективность с байтами, в любом случае это не будет серьезным повышением производительности друг от друга, но я бы лично пошел с коллекцией байтов, чтобы избежать неявного преобразования байтов.
Важно: Это вытекает из личного опыта предыдущего использования TCP-сокета (Quake RCON), а не какой-либо книги или чего-либо еще :) Исправьте меня, если я ошибаюсь, пожалуйста.