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
Наследование
Реализации

Комментарии

Класс NetworkStream предоставляет методы для отправки и получения данных через Stream сокеты в режиме блокировки. Дополнительные сведения о блокировке и неблокировке Socketсм. в разделе Использование асинхронного сокета клиента. Класс можно использовать NetworkStream как для синхронной, так и для асинхронной передачи данных. Дополнительные сведения о синхронном и асинхронном взаимодействии см. в разделе Сокеты.

Чтобы создать NetworkStream, необходимо предоставить подключенный Socketобъект . Вы также можете указать, какое FileAccess разрешение NetworkStream имеет на предоставленный Socketобъект . По умолчанию при закрытии NetworkStream не закрывается предоставленный Socketобъект . Если требуетсяNetworkStream, чтобы у объекта было разрешение на закрытие предоставленного SocketownsSocket , необходимо указать true для значения параметра .

Write Используйте методы и Read для простых однопоточных синхронных блокирующих операций ввода-вывода. Если вы хотите обрабатывать ввод-вывод асинхронно, рекомендуется использовать Task методы ReadAsync или ValueTaskи WriteAsync.

не NetworkStream поддерживает случайный доступ к потоку сетевых данных. Значение CanSeek свойства , которое указывает, поддерживает ли поток поиск, всегда false; чтение Position свойства, чтение Length свойства или вызов Seek метода вызовет NotSupportedException.

Операции чтения и записи можно выполнять одновременно с экземпляром NetworkStream класса без необходимости синхронизации. Пока существует один уникальный поток для операций записи и один уникальный поток для операций чтения, между потоками чтения и записи не будет никаких перекрестных помех и синхронизация не требуется.

Конструкторы

NetworkStream(Socket)

Создает новый экземпляр класса NetworkStream для указанного объекта Socket.

NetworkStream(Socket, Boolean)

Инициализирует новый экземпляр класса NetworkStream для указанного объекта Socket с заданным правом на владение Socket.

NetworkStream(Socket, FileAccess)

Создает новый экземпляр класса NetworkStream для указанного объекта Socket с заданными правами на доступ.

NetworkStream(Socket, FileAccess, Boolean)

Создает новый экземпляр класса NetworkStream для указанного объекта Socket с заданными правами доступа и указанными правами владения объектом Socket.

Свойства

CanRead

Возвращает значение, указывающее, поддерживает ли объект NetworkStream чтение.

CanSeek

Получает значение, указывающее, поддерживает ли поток поиск. Данное свойство в настоящий момент не поддерживается. Данное свойство всегда возвращает значение false.

CanTimeout

Указывает, применимы ли для объекта NetworkStream свойства тайм-аута.

CanTimeout

Возвращает значение, которое показывает, может ли для данного потока истечь время ожидания.

(Унаследовано от Stream)
CanWrite

Получает значение, указывающее, поддерживает ли объект NetworkStream запись.

DataAvailable

Возвращает значение, указывающее, доступны ли данные в объекте для немедленного NetworkStream чтения.

Length

Получает длину данных, доступных в потоке. Это свойство в настоящее время не поддерживается, и обращение к нему всегда создает исключение NotSupportedException.

Position

Возвращает или задает текущую позицию в потоке. Это свойство в настоящее время не поддерживается, и обращение к нему всегда создает исключение NotSupportedException.

Readable

Получает или устанавливает значение, указывающее, может ли выполняться чтение из объекта NetworkStream.

ReadTimeout

Возвращает или задает время, в течение которого операция чтения блокирует ожидание данных.

ReadTimeout

Возвращает или задает значение в миллисекундах, определяющее период времени, отведенного потоку на выполнение операции чтения.

(Унаследовано от Stream)
Socket

Возвращает основной объект Socket.

Writeable

Получает значение, указывающее, предусмотрена ли запись в объект NetworkStream.

WriteTimeout

Возвращает или задает время, в течение которого операция записи блокирует ожидание данных.

WriteTimeout

Возвращает или задает значение в миллисекундах, определяющее период времени, отведенного потоку на выполнение операции записи.

(Унаследовано от Stream)

Методы

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Начинает асинхронное чтение из объекта NetworkStream.

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Начинает операцию асинхронного чтения. (Рекомендуется использовать ReadAsync(Byte[], Int32, Int32).)

(Унаследовано от Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Начинает асинхронную запись в поток.

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Начинает операцию асинхронной записи. (Рекомендуется использовать WriteAsync(Byte[], Int32, Int32).)

(Унаследовано от Stream)
Close()

Закрывает объект NetworkStream.

Close()

Закрывает текущий поток и отключает все ресурсы (например, сокеты и файловые дескрипторы), связанные с текущим потоком. Вместо вызова данного метода, убедитесь в том, что поток надлежащим образом ликвидирован.

(Унаследовано от Stream)
Close(Int32)

Закрывает объект NetworkStream после ожидания в течение указанного времени, позволяя выполнить отправку данных.

Close(TimeSpan)

Закрывает после NetworkStream ожидания указанного периода времени, чтобы разрешить отправку данных.

CopyTo(Stream)

Считывает байты из текущего потока и записывает их в другой поток. Обе позиции потоков расширены по количеству скопированных байтов.

(Унаследовано от Stream)
CopyTo(Stream, Int32)

Считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера. Обе позиции потоков расширены по количеству скопированных байтов.

(Унаследовано от Stream)
CopyToAsync(Stream)

Асинхронно считывает байты из текущего потока и записывает их в другой поток. Обе позиции потоков расширены по количеству скопированных байтов.

(Унаследовано от Stream)
CopyToAsync(Stream, CancellationToken)

Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный токен отмены. Обе позиции потоков расширены по количеству скопированных байтов.

(Унаследовано от Stream)
CopyToAsync(Stream, Int32)

Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера. Обе позиции потоков расширены по количеству скопированных байтов.

(Унаследовано от Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера и токен отмены. Обе позиции потоков расширены по количеству скопированных байтов.

(Унаследовано от Stream)
CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
CreateWaitHandle()
Устаревшие..
Устаревшие..
Устаревшие..

Выделяет объект WaitHandle.

(Унаследовано от Stream)
Dispose()

Освобождает все ресурсы, занятые модулем Stream.

(Унаследовано от Stream)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом NetworkStream, а при необходимости освобождает также управляемые ресурсы.

DisposeAsync()

Асинхронно освобождает неуправляемые ресурсы, используемые классом Stream.

(Унаследовано от Stream)
EndRead(IAsyncResult)

Обрабатывает завершение асинхронного чтения.

EndRead(IAsyncResult)

Ожидает завершения отложенного асинхронного чтения. (Рекомендуется использовать ReadAsync(Byte[], Int32, Int32).)

(Унаследовано от Stream)
EndWrite(IAsyncResult)

Обрабатывает завершение асинхронной записи.

EndWrite(IAsyncResult)

Заканчивает операцию асинхронной записи. (Рекомендуется использовать WriteAsync(Byte[], Int32, Int32).)

(Унаследовано от Stream)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Finalize()

Освобождает все ресурсы, занятые модулем NetworkStream.

Flush()

Удаляет данные из потока. Этот метод зарезервирован для использования в будущем.

FlushAsync()

Асинхронно очищает все буферы для этого потока и вызывает запись всех буферизованных данных в базовое устройство.

(Унаследовано от Stream)
FlushAsync(CancellationToken)

Удаляет данные из потока в качестве асинхронной операции.

FlushAsync(CancellationToken)

Асинхронно очищает все буферы данного потока, вызывает запись буферизованных данных в базовое устройство и отслеживает запросы отмены.

(Унаследовано от Stream)
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)

Асинхронно считывает последовательность байтов из текущего потока и перемещает позицию внутри потока на число считанных байтов.

(Унаследовано от Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Считывает данные из NetworkStream и сохраняет их заданном диапазоне массива байтов в качестве асинхронной операции.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Асинхронно считывает последовательность байтов из текущего потока, перемещает позицию в потоке на число считанных байтов и отслеживает запросы отмены.

(Унаследовано от 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)

Считывает count количество байтов из текущего потока и перемещает позицию в потоке.

(Унаследовано от Stream)
ReadExactly(Span<Byte>)

Считывает байты из текущего потока и перемещает позицию в потоке buffer до заполнения.

(Унаследовано от Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Асинхронно считывает count количество байтов из текущего потока, перемещает позицию в потоке и отслеживает запросы отмены.

(Унаследовано от Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Асинхронно считывает байты из текущего потока, перемещает позицию в потоке buffer до заполнения и отслеживает запросы отмены.

(Унаследовано от Stream)
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)

Асинхронно записывает последовательность байтов в текущий поток и перемещает текущую позицию внутри потока на число записанных байтов.

(Унаследовано от Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Записывает данные в NetworkStream из заданного диапазона массива байтов в качестве асинхронной операции.

WriteAsync(Byte[], Int32, Int32, CancellationToken)

Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию внутри потока на число записанных байтов и отслеживает запросы отмены.

(Унаследовано от Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Записывает данные в NetworkStream из диапазона памяти байтов, доступного только для чтения, в качестве асинхронной операции.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию внутри потока на число записанных байтов и отслеживает запросы отмены.

(Унаследовано от Stream)
WriteByte(Byte)

Записывает байт в текущее положение в NetworkStream и перемещает позицию в потоке вперед на один байт.

WriteByte(Byte)

Записывает байт в текущее положение в потоке и перемещает позицию в потоке вперед на один байт.

(Унаследовано от Stream)

Явные реализации интерфейса

IDisposable.Dispose()

Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.

Освобождает все ресурсы, занятые модулем NetworkStream.

Методы расширения

CopyToAsync(Stream, PipeWriter, CancellationToken)

Асинхронно считывает байты из Stream и записывает их в указанный PipeWriter, используя токен отмены.

ConfigureAwait(IAsyncDisposable, Boolean)

Настраивает способ выполнения ожиданий для задач, возвращаемых из асинхронного высвобождаемого объекта.

Применяется к

См. также раздел