У меня есть типичный сетевой протокол, состоящий из типичного потока сообщений (32-разрядное поле длины + тело переменной длины), и я хочу асинхронно читать сообщения из сокета TCP.
Однако С#, по-видимому, обеспечивает довольно низкий уровень API: мне все равно приходится выделять буферы, отслеживать записанное смещение и длину данных вручную и поддерживать состояние между отдельными вызовами для чтения длины и тела, как в плохие старые дни С.
Есть ли какие-либо функции более высокого уровня, которые я могу попробовать, прежде чем погрузиться в написание утомительного асинхронного кода состояния? (нет сторонних библиотек).