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 из подключенного устройства StreamSocket и выполнить простую синхронную блокировку ввода-вывода.

// Examples for constructors that do not specify file permission.
// Create the NetworkStream for communicating with the remote host.
NetworkStream^ myNetworkStream;

if ( networkStreamOwnsSocket )
{
   myNetworkStream = gcnew NetworkStream( mySocket,true );
}
else
{
   myNetworkStream = gcnew NetworkStream( mySocket );
}
// Examples for constructors that do not specify file permission.

// Create the NetworkStream for communicating with the remote host.
NetworkStream myNetworkStream;

if (networkStreamOwnsSocket){
     myNetworkStream = new NetworkStream(mySocket, true);
}
else{
     myNetworkStream = new NetworkStream(mySocket);
}
' Examples for constructors that do not specify file permission.
' Create the NetworkStream for communicating with the remote host.
Dim myNetworkStream As NetworkStream

If networkStreamOwnsSocket Then
   myNetworkStream = New NetworkStream(mySocket, True)
Else
   myNetworkStream = New NetworkStream(mySocket)
End If

Комментарии

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

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

Write Используйте методы для Read простого синхронного блокирующего ввода-вывода с одним потоком. Если вы хотите обработать ввод-вывод с помощью отдельных потоков, рассмотрите возможность использования BeginWrite методов и EndWrite методов или BeginRead EndRead методов взаимодействия.

Он 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)
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.

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

ConfigureAwait(IAsyncDisposable, Boolean)

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

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

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