У меня открыто TCP-соединение и чтение с использованием NetworkStream.BeginRead(). Как только соединение закрывается на любом конце, вызывается обратный вызов, и объект потока становится бесполезным - как говорится в документации, EndRead() выдает IOException или ObjectDisposedException в зависимости от того, на каком конце было прервано соединение.
Гарантируется ли отсутствие каких-либо данных, которые я пропускаю только между последним успешным EndRead (и повторным BegingRead) и отключением, особенно если я делаю это на своем конце? Если это не так, в случае, если я завершаю соединение, нужно ли мне вручную выполнять NetworkStream.Read() при отключении, чтобы убедиться, что ничего не осталось непрочитанным?