Я использую С#.Net и класс Socket из пространства имен System.Net.Sockets. Я использую методы асинхронного приема. Я понимаю, что это легче сделать с помощью чего-то вроде веб-сервиса; этот вопрос подтверждается моим любопытством, а не практической необходимостью.
Мой вопрос: предположим, что клиент отправляет некоторый двоично-сериализованный объект неизвестной длины. На моем сервере с сокетом, как я узнаю, что весь объект получен и что он готов к десериализации? Я рассмотрел возможность добавления объекта с длиной объекта в байтах, но это кажется ненужным в мире .Net. Что произойдет, если объект больше, чем буфер? Как я знаю, "эй, нужно изменить размер буфера, потому что объект слишком большой"?