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


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 методов или 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

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

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)

Считывает количество байтов из текущего потока и перемещает 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, 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маркер отмены.

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

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