NetworkStream Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет базовый поток данных для сетевого доступа.
public ref class NetworkStream : System::IO::Stream
public class NetworkStream : System.IO.Stream
type NetworkStream = class
inherit Stream
type NetworkStream = class
inherit Stream
interface IDisposable
Public Class NetworkStream
Inherits Stream
- Наследование
- Наследование
- Реализации
Комментарии
Класс NetworkStream предоставляет методы для отправки и получения данных через Stream сокеты в режиме блокировки. Дополнительные сведения о блокировке и неблокировке Socketсм. в разделе "Использование асинхронного сокета клиента". Класс можно использовать NetworkStream для синхронной и асинхронной передачи данных. Дополнительные сведения об синхронном и асинхронном взаимодействии см. в разделе Сокеты.
Чтобы создать NetworkStreamобъект, необходимо указать подключенный Socketобъект. Вы также можете указать, какое FileAccess разрешение NetworkStream есть у предоставленного Socket. По умолчанию закрытие NetworkStream не закрывает предоставленный Socketобъект. Если требуется NetworkStream разрешение на закрытие предоставленного SocketownsSocket параметра, необходимо указать true значение параметра.
Write Read Используйте методы для простого однопоточного синхронного блокировки ввода-вывода. Если вы хотите асинхронно обрабатывать ввод-вывод, рассмотрите возможность использования Task методов или ValueTaskметодов WriteAsyncReadAsync на основе.
Он NetworkStream не поддерживает случайный доступ к сетевому потоку данных. Значение CanSeek свойства, указывающее, поддерживает ли поток поиск, всегда false; чтение Position свойства, чтение Length свойства или вызов Seek метода вызовет NotSupportedExceptionисключение.
Операции чтения и записи можно выполнять одновременно на экземпляре NetworkStream класса без необходимости синхронизации. Если для операций записи существует один уникальный поток и один уникальный поток для операций чтения, между потоками чтения и записи не требуется перекрестная интерференция между потоками чтения и записи, а синхронизация не требуется.
Конструкторы
| Имя | Описание |
|---|---|
| NetworkStream(Socket, Boolean) |
Инициализирует новый экземпляр класса для указанного NetworkStream с указанным SocketSocket владельцем. |
| NetworkStream(Socket, FileAccess, Boolean) |
Создает новый экземпляр класса для указанного NetworkStreamSocket с указанными правами доступа и указанным Socket владельцем. |
| NetworkStream(Socket, FileAccess) |
Создает новый экземпляр класса для указанного NetworkStreamSocket с указанными правами доступа. |
| NetworkStream(Socket) |
Создает новый экземпляр NetworkStream класса для указанного Socket. |
Свойства
| Имя | Описание |
|---|---|
| CanRead |
Возвращает значение, указывающее, поддерживается ли NetworkStream чтение. |
| CanSeek |
Возвращает значение, указывающее, поддерживает ли поток поиск. Это свойство в настоящее время не поддерживается. Это свойство всегда возвращается |
| CanTimeout |
Указывает, доступны ли свойства времени ожидания для NetworkStreamиспользования. |
| CanWrite |
Возвращает значение, указывающее, поддерживается ли NetworkStream запись. |
| DataAvailable |
Возвращает значение, указывающее, доступны ли данные немедленно NetworkStream для чтения. |
| Length |
Возвращает длину данных, доступных в потоке. Это свойство в настоящее время не поддерживается и всегда создает исключение NotSupportedException. |
| Position |
Возвращает или задает текущую позицию в потоке. Это свойство в настоящее время не поддерживается и всегда создает исключение NotSupportedException. |
| Readable |
Возвращает или задает значение, указывающее, можно ли читать.NetworkStream |
| ReadTimeout |
Возвращает или задает время ожидания данных блоками операций чтения. |
| Socket |
Возвращает базовый Socketобъект. |
| Writeable |
Возвращает значение, указывающее, является ли NetworkStream запись доступной для записи. |
| WriteTimeout |
Возвращает или задает время ожидания данных блоками операций записи. |
Методы
| Имя | Описание |
|---|---|
| BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Начинает асинхронное чтение из .NetworkStream |
| BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Начинает асинхронную запись в поток. |
| Close() |
NetworkStreamЗакрывает объект . |
| Close() |
Закрывает текущий поток и освобождает все ресурсы (например, сокеты и дескрипторы файлов), связанные с текущим потоком. Вместо вызова этого метода убедитесь, что поток правильно удален. (Унаследовано от Stream) |
| Close(Int32) |
NetworkStream Закрывает время ожидания, чтобы разрешить отправку данных. |
| Close(TimeSpan) |
NetworkStream Закрывает время ожидания указанного времени, чтобы разрешить отправку данных. |
| CopyTo(Stream, Int32) |
Считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера. Обе позиции потоков расширены по количеству скопированных байтов. (Унаследовано от Stream) |
| CopyTo(Stream) |
Считывает байты из текущего потока и записывает их в другой поток. Обе позиции потоков расширены по количеству скопированных байтов. (Унаследовано от Stream) |
| CopyToAsync(Stream, CancellationToken) |
Асинхронно считывает байты из текущего потока и записывает их в другой поток с помощью указанного маркера отмены. Обе позиции потоков расширены по количеству скопированных байтов. (Унаследовано от Stream) |
| CopyToAsync(Stream, Int32, CancellationToken) |
Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера и маркер отмены. Обе позиции потоков расширены по количеству скопированных байтов. (Унаследовано от Stream) |
| CopyToAsync(Stream, Int32) |
Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера. Обе позиции потоков расширены по количеству скопированных байтов. (Унаследовано от Stream) |
| CopyToAsync(Stream) |
Асинхронно считывает байты из текущего потока и записывает их в другой поток. Обе позиции потоков расширены по количеству скопированных байтов. (Унаследовано от Stream) |
| CreateObjRef(Type) |
Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
| CreateWaitHandle() |
Устаревшие..
Устаревшие..
Устаревшие..
WaitHandle Выделяет объект. (Унаследовано от Stream) |
| Dispose() |
Освобождает все ресурсы, используемые параметром Stream. (Унаследовано от Stream) |
| Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые NetworkStream и при необходимости освобождает управляемые ресурсы. |
| DisposeAsync() |
Асинхронно освобождает неуправляемые ресурсы, используемые Streamв . (Унаследовано от Stream) |
| EndRead(IAsyncResult) |
Обрабатывает конец асинхронного чтения. |
| EndWrite(IAsyncResult) |
Обрабатывает конец асинхронной записи. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| Finalize() |
Освобождает все ресурсы, используемые параметром NetworkStream. |
| Flush() |
Очищает данные из потока. Этот метод зарезервирован для дальнейшего использования. |
| FlushAsync() |
Асинхронно очищает все буферы для этого потока и приводит к записи всех буферных данных на базовое устройство. (Унаследовано от Stream) |
| FlushAsync(CancellationToken) |
Сбрасывает данные из потока в виде асинхронной операции. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetLifetimeService() |
Устаревшие..
Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| InitializeLifetimeService() |
Устаревшие..
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| MemberwiseClone(Boolean) |
Создает неглубокую копию текущего MarshalByRefObject объекта. (Унаследовано от MarshalByRefObject) |
| ObjectInvariant() |
Устаревшие..
Предоставляет поддержку Contractдля . (Унаследовано от Stream) |
| Read(Byte[], Int32, Int32) |
Считывает данные из NetworkStream массива байтов и сохраняет их в массиве байтов. |
| Read(Span<Byte>) |
Считывает данные из него NetworkStream и сохраняет его в диапазоне байтов в памяти. |
| Read(Span<Byte>) |
При переопределении в производном классе считывает последовательность байтов из текущего потока и перемещает положение в потоке по количеству байтов, считываемых. (Унаследовано от Stream) |
| ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Считывает данные из NetworkStream и сохраняет его в указанном диапазоне массива байтов в виде асинхронной операции. |
| ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Асинхронно считывает последовательность байтов из текущего потока, перемещает положение в потоке по количеству операций чтения байтов и отслеживает запросы на отмену. (Унаследовано от Stream) |
| ReadAsync(Byte[], Int32, Int32) |
Асинхронно считывает последовательность байтов из текущего потока и перемещает позицию в потоке по числу байтов. (Унаследовано от Stream) |
| ReadAsync(Memory<Byte>, CancellationToken) |
Считывает данные из и NetworkStream сохраняет его в диапазоне памяти байтов в виде асинхронной операции. |
| ReadAsync(Memory<Byte>, CancellationToken) |
Асинхронно считывает последовательность байтов из текущего потока, перемещает положение в потоке по количеству операций чтения байтов и отслеживает запросы на отмену. (Унаследовано от Stream) |
| ReadAtLeast(Span<Byte>, Int32, Boolean) |
Считывает по крайней мере минимальное количество байтов из текущего потока и перемещает положение в потоке по количеству байтов, считываемых. (Унаследовано от Stream) |
| ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
Асинхронно считывает по крайней мере минимальное количество байтов из текущего потока, перемещает положение в потоке по количеству операций чтения байтов и отслеживает запросы на отмену. (Унаследовано от Stream) |
| ReadByte() |
Считывает байт из NetworkStream и перемещает позицию в потоке по одному байту или возвращает -1, если в конце потока. |
| ReadByte() |
Считывает байт из потока и перемещает позицию в потоке по одному байту или возвращает -1, если в конце потока. (Унаследовано от Stream) |
| ReadExactly(Byte[], Int32, Int32) |
Считывает количество байтов из текущего потока и перемещает |
| ReadExactly(Span<Byte>) |
Считывает байты из текущего потока и перемещает положение в потоке, пока не будет заполнено |
| ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Асинхронно считывает количество байтов из текущего потока, перемещает |
| ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Асинхронно считывает байты из текущего потока, перемещает положение в потоке до тех пор, пока не |
| Seek(Int64, SeekOrigin) |
Задает текущее положение потока заданному значению. Этот метод в настоящее время не поддерживается и всегда создает исключение NotSupportedException. |
| SetLength(Int64) |
Задает длину потока. Этот метод всегда создает NotSupportedExceptionисключение . |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| Write(Byte[], Int32, Int32) |
Записывает данные NetworkStream в указанный диапазон массива байтов. |
| Write(ReadOnlySpan<Byte>) |
Записывает данные NetworkStream в диапазон байтов только для чтения. |
| Write(ReadOnlySpan<Byte>) |
При переопределении в производном классе записывает последовательность байтов в текущий поток и перемещает текущую позицию в этом потоке по количеству записанных байтов. (Унаследовано от Stream) |
| WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Записывает данные NetworkStream в указанный диапазон массива байтов в виде асинхронной операции. |
| WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию в этом потоке по количеству записанных байтов и отслеживает запросы на отмену. (Унаследовано от Stream) |
| WriteAsync(Byte[], Int32, Int32) |
Асинхронно записывает последовательность байтов в текущий поток и перемещает текущую позицию в этом потоке по количеству записанных байтов. (Унаследовано от Stream) |
| WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Записывает данные NetworkStream в диапазон памяти только для чтения в виде асинхронной операции. |
| WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию в этом потоке по количеству записанных байтов и отслеживает запросы на отмену. (Унаследовано от Stream) |
| WriteByte(Byte) |
Записывает байт в текущую позицию и перемещает позицию в NetworkStream потоке по одному байту. |
| WriteByte(Byte) |
Записывает байт в текущую позицию в потоке и перемещает позицию в потоке по одному байту. (Унаследовано от Stream) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IDisposable.Dispose() |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Освобождает все ресурсы, используемые параметром NetworkStream. |
Методы расширения
| Имя | Описание |
|---|---|
| ConfigureAwait(IAsyncDisposable, Boolean) |
Настраивает способ ожидания задач, возвращаемых из асинхронного удаления. |
| CopyToAsync(Stream, PipeWriter, CancellationToken) |
Асинхронно считывает байты из Stream указанных и записывает их в указанный PipeWriterмаркер отмены. |