Поделиться через


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. Вы также можете указать, какие разрешения FileAccessNetworkStream имеют доступ к предоставленному Socket. По умолчанию закрытие NetworkStream не закрывает предоставленный Socket. Если вы хотите, чтобы NetworkStream имели разрешение на закрытие предоставленной Socket, необходимо указать true для значения параметра ownsSocket.

Используйте методы Write и Read для простых однопоточных синхронных блокирующих операций ввода-вывода. Если вы хотите асинхронно обработать ввод-вывод, рассмотрите возможность использования Task или ValueTaskметодов на основе ReadAsync и 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)

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

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

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