Networkstream c: NetworkStream Класс (System.Net.Sockets) | Microsoft Docs
CanRead | Возвращает значение, указывающее, поддерживает ли объект NetworkStream чтение.Gets a value that indicates whether the NetworkStream supports reading. |
CanSeek | Получает значение, указывающее, поддерживает ли поток поиск.Gets a value that indicates whether the stream supports seeking. Данное свойство в настоящий момент не поддерживается.This property is not currently supported. Данное свойство всегда возвращает значение |
CanTimeout | Указывает, применимы ли для объекта NetworkStream свойства тайм-аута.Indicates whether timeout properties are usable for NetworkStream. |
CanTimeout | Возвращает значение, которое показывает, может ли для данного потока истечь время ожидания.Gets a value that determines whether the current stream can time out. (Унаследовано от Stream) |
CanWrite | Получает значение, указывающее, поддерживает ли объект NetworkStream запись.Gets a value that indicates whether the NetworkStream supports writing. |
DataAvailable | Возвращает значение, указывающее, имеются ли в объекте NetworkStream данные, доступные для чтения.Gets a value that indicates whether data is available on the NetworkStream to be read. |
Length | Получает длину данных, доступных в потоке.Gets the length of the data available on the stream. Это свойство в настоящее время не поддерживается, и обращение к нему всегда создает исключение NotSupportedException.This property is not currently supported and always throws a NotSupportedException. |
Position | Возвращает или задает текущую позицию в потоке.Gets or sets the current position in the stream. Это свойство в настоящее время не поддерживается, и обращение к нему всегда создает исключение NotSupportedException.This property is not currently supported and always throws a NotSupportedException. |
Readable | Получает или устанавливает значение, указывающее, может ли выполняться чтение из объекта NetworkStream.Gets or sets a value that indicates whether the NetworkStream can be read. |
ReadTimeout | Возвращает или задает время, в течение которого операция чтения блокирует ожидание данных.Gets or sets the amount of time that a read operation blocks waiting for data. |
ReadTimeout | Возвращает или задает значение в миллисекундах, определяющее период времени, отведенного потоку на выполнение операции чтения.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out. (Унаследовано от Stream) |
Socket | Возвращает основной объект Socket.Gets the underlying Socket. |
Writeable | Получает значение, указывающее, предусмотрена ли запись в объект NetworkStream.Gets a value that indicates whether the NetworkStream is writable. |
WriteTimeout | Возвращает или задает время, в течение которого операция записи блокирует ожидание данных.Gets or sets the amount of time that a write operation blocks waiting for data. |
WriteTimeout | Возвращает или задает значение в миллисекундах, определяющее период времени, отведенного потоку на выполнение операции записи.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out. (Унаследовано от Stream) |
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) | Начинает асинхронное чтение из объекта NetworkStream.Begins an asynchronous read from the NetworkStream. |
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) | Начинает операцию асинхронного чтения.Begins an asynchronous read operation. (Рекомендуется использовать ReadAsync(Byte[], Int32, Int32).)(Consider using ReadAsync(Byte[], Int32, Int32) instead.) (Унаследовано от Stream) |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) | Начинает асинхронную запись в поток.Begins an asynchronous write to a stream. |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) | Начинает операцию асинхронной записи.Begins an asynchronous write operation. (Рекомендуется использовать WriteAsync(Byte[], Int32, Int32).)(Consider using WriteAsync(Byte[], Int32, Int32) instead.) (Унаследовано от Stream) |
Close() | Закрывает объект NetworkStream.Closes the NetworkStream. |
Close() | Закрывает текущий поток и отключает все ресурсы (например, сокеты и файловые дескрипторы), связанные с текущим потоком.Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Вместо вызова данного метода, убедитесь в том, что поток надлежащим образом ликвидирован.Instead of calling this method, ensure that the stream is properly disposed. (Унаследовано от Stream) |
Close(Int32) | Закрывает объект NetworkStream после ожидания в течение указанного времени, позволяя выполнить отправку данных.Closes the NetworkStream after waiting the specified time to allow data to be sent. |
CopyTo(Stream) | Считывает байты из текущего потока и записывает их в другой поток.Reads the bytes from the current stream and writes them to another stream. (Унаследовано от Stream) |
CopyTo(Stream, Int32) | Считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера.Reads the bytes from the current stream and writes them to another stream, using a specified buffer size. (Унаследовано от Stream) |
CopyToAsync(Stream) | Асинхронно считывает байты из текущего потока и записывает их в другой поток.Asynchronously reads the bytes from the current stream and writes them to another stream. (Унаследовано от Stream) |
CopyToAsync(Stream, CancellationToken) | Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный токен отмены.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token. (Унаследовано от Stream) |
CopyToAsync(Stream, Int32) | Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size. (Унаследовано от Stream) |
CopyToAsync(Stream, Int32, CancellationToken) | Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера и токен отмены.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token. (Унаследовано от Stream) |
CreateObjRef(Type) | Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Унаследовано от MarshalByRefObject) |
CreateWaitHandle() | Является устаревшей. Выделяет объект WaitHandle.Allocates a WaitHandle object. (Унаследовано от Stream) |
Dispose() | Освобождает все ресурсы, занятые модулем Stream.Releases all resources used by the Stream. (Унаследовано от Stream) |
Dispose(Boolean) | Освобождает неуправляемые ресурсы, используемые объектом NetworkStream, а при необходимости освобождает также управляемые ресурсы.Releases the unmanaged resources used by the NetworkStream and optionally releases the managed resources. |
DisposeAsync() | Асинхронно освобождает неуправляемые ресурсы, используемые классом Stream.Asynchronously releases the unmanaged resources used by the Stream. (Унаследовано от Stream) |
EndRead(IAsyncResult) | Обрабатывает завершение асинхронного чтения.Handles the end of an asynchronous read. |
EndRead(IAsyncResult) | Ожидает завершения отложенного асинхронного чтения.Waits for the pending asynchronous read to complete. (Рекомендуется использовать ReadAsync(Byte[], Int32, Int32).)(Consider using ReadAsync(Byte[], Int32, Int32) instead.) (Унаследовано от Stream) |
EndWrite(IAsyncResult) | Обрабатывает завершение асинхронной записи.Handles the end of an asynchronous write. |
EndWrite(IAsyncResult) | Заканчивает операцию асинхронной записи.Ends an asynchronous write operation. (Рекомендуется использовать WriteAsync(Byte[], Int32, Int32).)(Consider using WriteAsync(Byte[], Int32, Int32) instead.) (Унаследовано от Stream) |
Equals(Object) | Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object. (Унаследовано от Object) |
Finalize() | Освобождает все ресурсы, занятые модулем NetworkStream.Releases all resources used by the NetworkStream. |
Flush() | Удаляет данные из потока.Flushes data from the stream. Этот метод зарезервирован для использования в будущем.This method is reserved for future use. |
FlushAsync() | Асинхронно очищает все буферы для этого потока и вызывает запись всех буферизованных данных в базовое устройство.Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device. (Унаследовано от Stream) |
FlushAsync(CancellationToken) | Удаляет данные из потока в качестве асинхронной операции.Flushes data from the stream as an asynchronous operation. |
FlushAsync(CancellationToken) | Асинхронно очищает все буферы данного потока, вызывает запись буферизованных данных в базовое устройство и отслеживает запросы отмены.Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests. (Унаследовано от Stream) |
GetHashCode() | Служит хэш-функцией по умолчанию.Serves as the default hash function. (Унаследовано от Object) |
GetLifetimeService() | Является устаревшей. Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Унаследовано от MarshalByRefObject) |
GetType() | Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance. (Унаследовано от Object) |
InitializeLifetimeService() | Является устаревшей. Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.Obtains a lifetime service object to control the lifetime policy for this instance. (Унаследовано от MarshalByRefObject) |
MemberwiseClone() | Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object. (Унаследовано от Object) |
MemberwiseClone(Boolean) | Создает неполную копию текущего объекта MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object. (Унаследовано от MarshalByRefObject) |
ObjectInvariant() | Является устаревшей. Обеспечивает поддержку для Contract.Provides support for a Contract. (Унаследовано от Stream) |
Read(Byte[], Int32, Int32) | Считывает данные из NetworkStream и сохраняет их в массив байтов.Reads data from the NetworkStream and stores it to a byte array. |
Read(Span<Byte>) | Считывает данные из NetworkStream и сохраняет их в диапазоне байтов в памяти.Reads data from the NetworkStream and stores it to a span of bytes in memory. |
Read(Span<Byte>) | При переопределении в производном классе считывает последовательность байтов из текущего потока и перемещает позицию в потоке на число считанных байтов.When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. (Унаследовано от Stream) |
ReadAsync(Byte[], Int32, Int32) | Асинхронно считывает последовательность байтов из текущего потока и перемещает позицию внутри потока на число считанных байтов.Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. (Унаследовано от Stream) |
ReadAsync(Byte[], Int32, Int32, CancellationToken) | Считывает данные из NetworkStream и сохраняет их заданном диапазоне массива байтов в качестве асинхронной операции.Reads data from the NetworkStream and stores it to a specified range of a byte array as an asynchronous operation. |
ReadAsync(Byte[], Int32, Int32, CancellationToken) | Асинхронно считывает последовательность байтов из текущего потока, перемещает позицию в потоке на число считанных байтов и отслеживает запросы отмены.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests. (Унаследовано от Stream) |
ReadAsync(Memory<Byte>, CancellationToken) | Считывает данные из NetworkStream и сохраняет их в диапазоне памяти байтов в качестве асинхронной операции.Reads data from the NetworkStream and stores it in a byte memory range as an asynchronous operation. |
ReadAsync(Memory<Byte>, CancellationToken) | Асинхронно считывает последовательность байтов из текущего потока, перемещает позицию в потоке на число считанных байтов и отслеживает запросы отмены.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests. (Унаследовано от Stream) |
ReadByte() | Считывает байт из NetworkStream и перемещает позицию в потоке на один байт или возвращает –1, если достигнут конец потока.Reads a byte from the NetworkStream and advances the position within the stream by one byte, or returns -1 if at the end of the stream. |
ReadByte() | Считывает байт из потока и перемещает позицию в потоке на один байт или возвращает -1, если достигнут конец потока.Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream. (Унаследовано от Stream) |
Seek(Int64, SeekOrigin) | Устанавливает заданное значение для текущей позиции потока.Sets the current position of the stream to the given value. Этот метод в настоящее время не поддерживается, и он всегда создает исключение NotSupportedException.This method is not currently supported and always throws a NotSupportedException. |
SetLength(Int64) | Задает длину потока.Sets the length of the stream. Этот метод всегда создает исключение NotSupportedException.This method always throws a NotSupportedException. |
ToString() | Возвращает строку, представляющую текущий объект.Returns a string that represents the current object. (Унаследовано от Object) |
Write(Byte[], Int32, Int32) | Записывает данные в NetworkStream из указанного диапазона массива байтов.Writes data to the NetworkStream from a specified range of a byte array. |
Write(ReadOnlySpan<Byte>) | Записывает данные в NetworkStream объект из диапазона байтов, доступного только для чтения.Writes data to the NetworkStream from a read-only byte span. |
Write(ReadOnlySpan<Byte>) | При переопределении в производном классе записывает последовательность байтов в текущий поток и перемещает текущую позицию в нем вперед на число записанных байтов.When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. (Унаследовано от Stream) |
WriteAsync(Byte[], Int32, Int32) | Асинхронно записывает последовательность байтов в текущий поток и перемещает текущую позицию внутри потока на число записанных байтов.Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. (Унаследовано от Stream) |
WriteAsync(Byte[], Int32, Int32, CancellationToken) | Записывает данные в NetworkStream из заданного диапазона массива байтов в качестве асинхронной операции.Writes data to the NetworkStream from the specified range of a byte array as an asynchronous operation. |
WriteAsync(Byte[], Int32, Int32, CancellationToken) | Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию внутри потока на число записанных байтов и отслеживает запросы отмены.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests. (Унаследовано от Stream) |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) | Записывает данные в NetworkStream из диапазона памяти байтов, доступного только для чтения, в качестве асинхронной операции.Writes data to the NetworkStream from a read-only memory byte memory range as an asynchronous operation. |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) | Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию внутри потока на число записанных байтов и отслеживает запросы отмены.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests. (Унаследовано от Stream) |
WriteByte(Byte) | Записывает байт в текущее положение в NetworkStream и перемещает позицию в потоке вперед на один байт.Writes a byte to the current position in the NetworkStream and advances the position within the stream by one byte. |
WriteByte(Byte) | Записывает байт в текущее положение в потоке и перемещает позицию в потоке вперед на один байт.Writes a byte to the current position in the stream and advances the position within the stream by one byte. (Унаследовано от Stream) |
IDisposable.Dispose() | Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Освобождает все ресурсы, занятые модулем NetworkStream.Releases all resources used by the NetworkStream. |
IDisposable.Dispose() | Освобождает все ресурсы, занятые модулем Stream.Releases all resources used by the Stream. (Унаследовано от Stream) |
ConfigureAwait(IAsyncDisposable, Boolean) | Настраивает способ выполнения ожиданий для задач, возвращаемых из асинхронного высвобождаемого объекта.Configures how awaits on the tasks returned from an async disposable are performed. |
c# — TcpClient; NetworkStream; ReadAsync; C #
Нет, это не так, как работает TCP.
NetworkStream
is considered to be in an «end of stream» state when the other side has initiated (possible one-way) shutdown. That’s when ReadAsync
(or Read
, for that matter) returns zero — not in any other case.
Документацию MSDN можно легко понять неправильно, главным образом потому, что вы смотрите на неправильную документацию. NetworkStream
не переопределяет ReadAsync
(нет причин для этого), поэтому вы действительно смотрите документацию для общего Stream.ReadAsync
. Напротив, в документации для NetworkStream.Read
говорится:
Этот метод считывает данные в параметр буфера и возвращает количество успешно прочитанных байтов. Если для чтения нет данных, метод Read возвращает 0. Операция чтения считывает столько данных, сколько доступно, до количества байтов, заданных параметром размера. Если удаленный узел отключает соединение, и все доступные данные были получены, метод Read завершается немедленно и возвращает нулевые байты.
Обратите внимание на последнее предложение, в котором говорится о том, что на самом деле означает, что NetworkStream
является «концом потока». Вот как TCP-соединения закрыты.
Ваш ответ на это обычно должен также отключать соединение с другой стороны — return
из вашего вспомогательного метода и очищать сокет. В любом случае, не повторяйте while (true)
снова — вы просто получите бесконечный цикл, который будет потреблять 100% вашего процессора.
Если вам нужно несколько указателей на то, как обрабатывать асинхронные сокеты C # с помощью await
, посмотрите на мой пример в https://github.com/Luaancz/Networking/tree/master/Networking%20Part%202 . Обратите внимание на отказ от ответственности — это никоим образом не готово к производству. Но он решает некоторые из очень распространенных ошибок, которые люди делают при реализации TCP-связи.
Программирование протокола TCP на Visual C #
- Основы программирования TCP-протокола Visual C #
- Иерархия протокола TCP
- Спецификация протокола TCP
- Введение в классы, связанные с протоколом TCP
- TcpListener
- TcpClient
- NetworkStream
Основа программирования протокола TCP на Visual C #
Иерархия протокола TCP
Семислойная модель OSI:В начале создания компьютерных сетей у каждого производителя компьютеров была собственная концепция сетевой архитектуры, и они были несовместимы друг с другом. Поскольку разные локальные сети имеют разные сетевые протоколы, а разные среды передачи имеют свои собственные электрические свойства, для обеспечения взаимосвязи разных сетей должен быть установлен единый протокол сетевого взаимодействия. С этой целью ISO (Международная организация по стандартизации) предложила базовую структуру для протоколов сетевого взаимодействия, называемую эталонной моделью взаимодействия открытых систем (OSI). Если она соответствует стандарту OSI, система может располагаться в любой точке мира и также соответствовать OSI. Подключитесь к любой другой стандартной системе.Теперь эта модель стала основной структурной моделью для связи между компьютерами и сетями. Структура большинства используемых в настоящее время протоколов сетевой связи основана на модели OSI .
OSI определяет процесс связи как семь уровней, то есть задача передачи информации между компьютерами в сети разделена на семь меньших групп задач, с которыми легче справиться. Каждая задача или группа задач назначается каждому уровню OSI. Каждый уровень существует независимо, поэтому задачи, назначенные каждому слою, могут выполняться независимо. Это позволяет изменять схему, предоставляемую одним слоем, не затрагивая другие слои. Эталонная модель OSI разделена на 7 уровней, а именно физический уровень, уровень канала передачи данных, сетевой уровень, транспортный уровень, сеансовый уровень и уровень представления. (Уровень представления) и уровень приложения (Уровень приложения ).
Модель TCP / IP:Эталонная модель OSI, разработанная ISO, слишком велика и сложна, что вызвало много критики. В отличие от этого, стек протоколов TCP / IP, разработанный техническими специалистами, получил широкое распространение. Как показано на рисунке ниже, это схематическая диаграмма сравнения эталонной модели TCP / IP и эталонной модели OSI.
Стек протоколов TCP / IP — это эталонная модель, используемая Сетью Агентства перспективных исследовательских проектов (ARPANET) Министерства обороны США и ее последующим Интернетом. Эталонная модель TCP / IP разделена на четыре уровня: уровень приложений, транспортный уровень, уровень межсетевого взаимодействия и уровень хост-сеть. Как показано ниже.
Введение в классы, связанные с протоколом TCP
В программировании протокола TCP часто используются классы TcpListener, TcpClient и NetworkStream.
Класс TcpListener:
TcpListenerКласс прослушивает соединения от сетевых клиентов TCP.TcpListenerКласс предоставляет несколько простых методов для прослушивания и приема входящих запросов на соединение в синхронном режиме блокировки. быть полезнымTcpClientили жеSocketДля подключенияTcpListener. быть полезнымIPEndPoint, Локальный IP-адрес и номер порта или только номер порта для созданияTcpListener. Локальный IP-адрес можно указать какAny, Укажите номер локального порта как 0 (если вы хотите, чтобы базовый поставщик услуг назначал вам эти значения). Если вы решите это сделать, вы можете использоватьLocalEndpointДля идентификации указанной информации.
StartМетод используется для начала прослушивания входящих запросов на подключение.StartВходящие соединения будут стоять в очереди, пока вы не позвонитеStopМетод или он был завершенMaxConnectionsЖди в очереди. быть полезнымAcceptSocketили жеAcceptTcpClientИзвлекать соединения из очереди входящих запросов на соединение. Эти два метода заблокируют. Если вы хотите избежать блокировки, вы можете сначала использовать егоPendingМетод определения наличия в очереди доступных запросов на подключение. перечислитьStopМетод закрытияTcpListener。
заметка:StopМетод не закрывает принятые соединения. Пользователь несет ответственность за закрытие этих подключений отдельно.
Класс TcpClient:
обеспечивает клиентские подключения для сетевых служб TCP.TcpClientКласс предоставляет несколько простых методов для подключения, отправки и получения потоковых данных по сети в режиме синхронной блокировки.
, чтобы сделатьTcpClientПодключайтесь и обменивайтесь данными, используйте TCPProtocolTypeСозданоTcpListenerили жеSocketНеобходимо прослушивать входящие запросы на подключение. Вы можете подключиться к слушателю одним из двух способов:
- СоздатьTcpClientИ назовите трех доступныхConnectОдин из способов.
- Создается с использованием имени хоста и номера порта удаленного хостаTcpClient. Этот конструктор автоматически попытается установить соединение.
открытый конструктор
Конструктор TcpClient поддерживается облегченной версией .NET Framework. | был перезагружен. инициализацияTcpClientНовый экземпляр класса. |
общедоступное свойство
общедоступный метод
Close поддерживается облегченной версией .NET Framework. | Закройте TCP-соединение и отпуститеTcpClientВсе связанные ресурсы. |
Connect поддерживается облегченной версией .NET Framework. | был перезагружен. Используйте указанное имя хоста и номер порта для подключения клиента к хосту TCP. |
GetStream поддерживается облегченной версией .NET Framework. | возвращает информацию, используемую для отправки и получения данных.NetworkStream。 |
NetworkStream класс:
предоставляет основной поток данных для доступа к сети.NetworkStreamКласс обеспечивает проход в режиме блокировкиStreamМетод сокета для отправки и получения данных. ты можешь использовать этоNetworkStreamКласс выполняет синхронную и асинхронную передачу данных. СоздатьNetworkStream, Должен обеспечить подключенныйSocket. Также можно указатьNetworkStreamК предоставленнымSocketкакаяFileAccessРазрешения. По умолчанию закрытоNetworkStreamНе закрывает предоставленныйSocket. Если хочешьNetworkStreamПринадлежит закрытиюSocketРазрешение, вы должны добавитьownsSocketЗначение параметра конструктора указывается какtrue。
будетWriteс участиемReadЭтот метод используется для простой однопоточной синхронной блокировки ввода-вывода. Чтобы использовать разные потоки для обработки ввода-вывода, рассмотрите возможность использованияBeginWrite/EndWriteс участиемBeginRead/EndReadСпособ общения.
NetworkStreamПроизвольный доступ к сетевым потокам данных не поддерживается.CanSeekАтрибут используется, чтобы указать, поддерживает ли поток поиск, и его значение всегдаfalse. ЧитатьPositionАтрибуты, прочтитеLengthАтрибут или вызовSeekМетод сработаетNotSupportedException。
открытый конструктор
NetworkStream конструктор Поддерживается облегченной версией .NET Framework. | был перезагружен. СоздайтеNetworkStreamНовый экземпляр класса. |
общедоступное свойство
общедоступный метод
Можно читать | Получает значение, указывающее, поддерживает ли NetworkStream чтение. |
CanSeek | Получает значение, указывающее, поддерживает ли поток поиск.Это свойство в настоящее время не поддерживается. Это свойство всегда возвращает |
CanTimeout | Указывает, можно ли использовать свойства тайм-аута для NetworkStream. |
CanTimeout | Получает значение, определяющее, может ли истечь время ожидания текущего потока. (Унаследовано от Stream) |
CanWrite | Получает значение, указывающее, поддерживает ли NetworkStream запись. |
DataAvailable | Получает значение, указывающее, доступны ли данные в NetworkStream для чтения. |
Длина | Получает длину данных, доступных в потоке. Это свойство в настоящее время не поддерживается и всегда вызывает исключение NotSupportedException. |
Позиция | Получает или задает текущую позицию в потоке.Это свойство в настоящее время не поддерживается и всегда вызывает исключение NotSupportedException. |
Удобочитаемый | Получает или задает значение, указывающее, можно ли прочитать NetworkStream. |
ReadTimeout | Возвращает или задает время, в течение которого операция чтения блокирует ожидание данных. |
ReadTimeout | Возвращает или задает значение в миллисекундах, определяющее, как долго поток будет пытаться читать до истечения времени ожидания. (Унаследовано от Stream) |
Разъем | Получает базовый сокет. |
Записываемый | Получает значение, указывающее, доступен ли NetworkStream для записи. |
WriteTimeout | Возвращает или задает время, в течение которого операция записи блокирует ожидание данных. |
WriteTimeout | Получает или задает значение в миллисекундах, определяющее, как долго поток будет пытаться выполнить запись до истечения времени ожидания. (Унаследовано от Stream) |
BeginRead (Byte [], Int32, Int32, AsyncCallback, Object) | Начинает асинхронное чтение из NetworkStream. |
BeginRead (Байт [], 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) |
Закрывать() | Закрывает NetworkStream. |
Закрывать() | Закрывает текущий поток и освобождает все ресурсы (например, сокеты и дескрипторы файлов), связанные с текущим потоком.Вместо вызова этого метода убедитесь, что поток правильно расположен. (Унаследовано от Stream) |
Закрыть (Int32) | Закрывает NetworkStream после ожидания указанного времени, чтобы разрешить отправку данных. |
CopyTo (поток) | Считывает байты из текущего потока и записывает их в другой поток. (Унаследовано от Stream) |
CopyTo (поток, Int32) | Считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера. (Унаследовано от Stream) |
CopyToAsync (поток) | Асинхронно считывает байты из текущего потока и записывает их в другой поток. (Унаследовано от Stream) |
CopyToAsync (поток, CancellationToken) | Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный токен отмены. (Унаследовано от Stream) |
CopyToAsync (поток, Int32) | Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера. (Унаследовано от Stream) |
CopyToAsync (поток, Int32, CancellationToken) | Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера и токен отмены. (Унаследовано от Stream) |
CreateObjRef (Тип) | Создает объект, содержащий всю необходимую информацию, необходимую для создания прокси-сервера, используемого для связи с удаленным объектом. (Унаследовано от MarshalByRefObject) |
CreateWaitHandle () | Устарело. Выделяет объект WaitHandle. (Унаследовано от Stream) |
Утилизировать () | Освобождает все ресурсы, используемые потоком. (Унаследовано от Stream) |
Удалить (логическое) | Освобождает неуправляемые ресурсы, используемые NetworkStream, и дополнительно освобождает управляемые ресурсы. |
DisposeAsync () | Асинхронно освобождает неуправляемые ресурсы, используемые потоком. (Унаследовано от Stream) |
EndRead (IAsyncResult) | Обрабатывает конец асинхронного чтения. |
EndRead (IAsyncResult) | Ожидает завершения отложенного асинхронного чтения. (Вместо этого рассмотрите возможность использования ReadAsync (Byte [], Int32, Int32).) (Унаследовано от Stream) |
EndWrite (IAsyncResult) | Обрабатывает конец асинхронной записи. |
EndWrite (IAsyncResult) | Завершает операцию асинхронной записи.(Вместо этого рассмотрите возможность использования WriteAsync (Byte [], Int32, Int32).) (Унаследовано от Stream) |
Равно (объект) | Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Завершить () | Освобождает все ресурсы, используемые NetworkStream. |
Промывать() | Удаляет данные из потока.Этот метод зарезервирован для использования в будущем. |
FlushAsync () | Асинхронно очищает все буферы для этого потока и вызывает запись любых буферизованных данных на нижележащее устройство. (Унаследовано от Stream) |
FlushAsync (CancellationToken) | Удаляет данные из потока в виде асинхронной операции. |
FlushAsync (CancellationToken) | Асинхронно очищает все буферы для этого потока, вызывает запись любых буферизованных данных на нижележащее устройство и отслеживает запросы отмены. (Унаследовано от Stream) |
GetHashCode () | Служит хеш-функцией по умолчанию. (Унаследовано от Object) |
GetLifetimeService () | Устарело. Извлекает текущий объект службы времени существования, который управляет политикой времени жизни для этого экземпляра. (Унаследовано от MarshalByRefObject) |
GetType () | Получает тип текущего экземпляра. (Унаследовано от Object) |
InitializeLifetimeService () | Устарело. Получает объект службы времени существования для управления политикой времени существования этого экземпляра. (Унаследовано от MarshalByRefObject) |
MemberwiseClone () | Создает мелкую копию текущего объекта. (Унаследовано от Object) |
MemberwiseClone (логическое значение) | Создает мелкую копию текущего объекта MarshalByRefObject. (Унаследовано от MarshalByRefObject) |
ObjectInvariant () | Устарело. Обеспечивает поддержку контракта. (Унаследовано от Stream) |
Чтение (Байт [], Int32, Int32) | Считывает данные из NetworkStream и сохраняет их в массив байтов. |
Чтение (интервал <байт>) | Считывает данные из NetworkStream и сохраняет их в диапазоне байтов в памяти. |
Чтение (интервал <байт>) | При переопределении в производном классе считывает последовательность байтов из текущего потока и перемещает позицию в потоке на количество прочитанных байтов. (Унаследовано от Stream) |
ReadAsync (Байт [], Int32, Int32) | Асинхронно считывает последовательность байтов из текущего потока и перемещает позицию в потоке на количество прочитанных байтов. (Унаследовано от Stream) |
ReadAsync (Байт [], Int32, Int32, CancellationToken) | Считывает данные из NetworkStream и сохраняет их в указанном диапазоне массива байтов в качестве асинхронной операции. |
ReadAsync (Байт [], Int32, Int32, CancellationToken) | Асинхронно считывает последовательность байтов из текущего потока, перемещает позицию в потоке на количество прочитанных байтов и отслеживает запросы отмены. (Унаследовано от Stream) |
ReadAsync (Память <Байт>, CancellationToken) | Считывает данные из NetworkStream и сохраняет их в диапазоне байтовой памяти в качестве асинхронной операции. |
ReadAsync (Память <Байт>, CancellationToken) | Асинхронно считывает последовательность байтов из текущего потока, перемещает позицию в потоке на количество прочитанных байтов и отслеживает запросы отмены. (Унаследовано от Stream) |
ReadByte () | Считывает байт из NetworkStream и перемещает позицию в потоке на один байт вперед или возвращает -1, если находится в конце потока. |
ReadByte () | Считывает байт из потока и перемещает позицию в потоке на один байт вперед или возвращает -1, если находится в конце потока. (Унаследовано от Stream) |
Искать (Int64, SeekOrigin) | Устанавливает текущую позицию потока на заданное значение.Этот метод в настоящее время не поддерживается и всегда вызывает исключение NotSupportedException. |
SetLength (Int64) | Устанавливает длину потока. Этот метод всегда вызывает NotSupportedException. |
Нанизывать() | Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Запись (Байт [], Int32, Int32) | Записывает данные в NetworkStream из указанного диапазона массива байтов. |
Запись (ReadOnlySpan | Записывает данные в NetworkStream из диапазона байтов, доступного только для чтения. |
Запись (ReadOnlySpan | При переопределении в производном классе записывает последовательность байтов в текущий поток и перемещает текущую позицию в этом потоке на количество записанных байтов. (Унаследовано от Stream) |
WriteAsync (Байт [], Int32, Int32) | Асинхронно записывает последовательность байтов в текущий поток и перемещает текущую позицию в этом потоке на количество записанных байтов. (Унаследовано от Stream) |
WriteAsync (Byte [], Int32, Int32, CancellationToken) | Записывает данные в NetworkStream из указанного диапазона массива байтов в качестве асинхронной операции. |
WriteAsync (Byte [], Int32, Int32, CancellationToken) | Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию в этом потоке на количество записанных байтов и отслеживает запросы отмены. (Унаследовано от Stream) |
WriteAsync (ReadOnlyMemory | Записывает данные в NetworkStream из диапазона байтов памяти только для чтения в качестве асинхронной операции. |
WriteAsync (ReadOnlyMemory | Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию в этом потоке на количество записанных байтов и отслеживает запросы отмены. (Унаследовано от Stream) |
WriteByte (байт) | Записывает байт в текущую позицию в NetworkStream и перемещает позицию в потоке на один байт вперед. |
WriteByte (байт) | Записывает байт в текущую позицию в потоке и перемещает позицию в потоке на один байт вперед. (Унаследовано от Stream) |
Запись сетевого потока с помощью VLC Player — База знаний ITS
Для записи с помощью Windows VLC
Откройте VLC Player
Задайте место записи
В VLC выберите «Настройки» в меню «Инструменты». таб.Воспользуйтесь полем «Файлы»> «Записать каталог или имя файла» и нажмите «Обзор», чтобы найти место для хранения / записи сохраненных видеофайлов. C: \ Users \ username \ Videos или другую папку на вашем диске. (В системах Bethel, кажется, не выполняется запись на рабочий стол?)
Нажмите кнопку «Сохранить» в нижней части окна «Параметры ввода и кодеков».
Активация инструмента записи: выберите меню «Просмотр» и выберите «Дополнительные элементы управления». Это поместит инструменты записи в окно вашего проигрывателя VLC.
Доступ к сетевому потоку
Выберите меню «Мультимедиа» и выберите «Открыть сетевой поток»
Введите адрес сетевого потока в поле «Введите сетевой URL» и нажмите «Воспроизвести». в окне «Открыть мультимедиа». Обратите внимание, что окно аутентификации может появиться, если доступ к сетевому потоку ограничен.
Запись
В окне проигрывателя VLC нажмите красную кнопку «Запись», которая станет синей, чтобы обозначить, что запись включена.
Нажмите кнопку записи еще раз, чтобы остановить запись. Записи хранятся в папке, которую вы установили на шаге 2 выше.
Для записи с помощью VLC (Mac)
Файл / мультимедиа> Открытая сеть
Вставьте URL-адрес для мультимедийного потока сверху
Проверьте потоковую передачу / сохранение
Нажмите «Настройки»
Установите флажок «Показать поток» локально
Отметьте файл и перейдите туда, где вы хотите сохранить файл
Метод инкапсуляции установлен на MPEG 4
Щелкните ОК
Щелкните Открыть, чтобы начать, введите имя пользователя и пароль для камеры и щелкните ОК
Нажмите кнопку «Стоп», чтобы остановить запись.
Руководство по стримингу НФЛ: как смотреть игры НФЛ онлайн в сезоне 2021 года
Игры НФЛ будут транслироваться на Paramount +, YouTube TV, Amazon Prime Video и других потоковых сервисах в течение сезона 2021 года, хотя не все сервисы предлагают все игры.
Майк Эрманн / Getty Images
Сезон НФЛ 2021 года начнется 9 сентября, когда чемпионы Суперкубка LV сразятся с «Далласскими ковбоями».Поскольку до игры Kickoff с метким названием осталось меньше месяца, сейчас самое время подготовить все свои технические устройства к просмотру игр НФЛ вживую.
Многие игры НФЛ транслируются по кабельному телевидению, но если вы не хотите пропустить ни одной игры, находясь вдали от дома, стриминг НФЛ — лучший вариант.
Независимо от того, перерезали ли вы кабель, уехали из дома, отключили кабель непосредственно перед игрой или выбрали тарифный план, по которому не транслируется ваша любимая команда, наличие правильного потокового сервиса может быть игрой. сменщик.CBS Essentials собрал все потоковые сервисы, которые будут включать игры НФЛ в 2021 году, включая Paramount +, Hulu, NFL Game Pass, YouTube TV и Prime Video, а также устройства, которые помогут вам смотреть каждую игру НФЛ в прямом эфире на вашем телевизоре.
Подготовьте свой телевизор к NFL с помощью Roku Express 4K Plus
Roku / Amazon
Roku Express 4K Plus предлагает много денег, когда дело доходит до гаджетов для потоковой передачи NFL.Среди гигантов потокового оборудования устройство Roku за 29 долларов может похвастаться наибольшим количеством опций и приложений, включая Hulu, Prime Video и Apple TV. Он также совместим с Apple AirPlay, что позволяет подключать iPhone или iPad к телевизору. (Вы можете узнать больше о Roku здесь.)
Roku Express 4K Plus, $ 29
Приставка для потоковой передачи NFL для поклонников Apple: Apple TV 4K
Apple / Amazon
Поклонникам Apple или всем, у кого есть пакет подписки Apple One, следует рассмотреть возможность просмотра прямых трансляций NFL на Apple TV 4K.Обновленное устройство оснащено Dolby Vision, новым и улучшенным пультом дистанционного управления с поддержкой Siri и функцией SharePlay, которая позволяет вам наслаждаться игрой с группой друзей. После завершения игры вы можете воспользоваться преимуществами игр Apple Arcade или транслировать фильм из своего любимого потокового сервиса.
Apple TV 4K, 169 долларов США (со скидкой 179 долларов США)
Amazon Fire TV Stick 4K
Амазонка
Amazon Fire TV Stick 4K — это потоковое устройство, которое понравится всем, у кого есть дом с поддержкой Alexa.Попрощайтесь с переливанием через меню каналов. Вы можете переключаться между играми с помощью голосового пульта дистанционного управления устройства («Alexa, включи Sunday Night Football»). Он предлагает 4K Ultra HD, Dolby Vision, HDR и HDR10 + в дополнение к аудио Dolby Atmos, а также доступ к тысячам каналов (некоторые бесплатные).
Amazon Fire TV Stick 4K, 38 долларов США (снижено с 50 долларов США)
Вот где можно посмотреть футбол НФЛ онлайн в 2021 году
Существует ряд потоковых сервисов, которые предлагают футбол НФЛ, хотя не все сервисы будут предлагать все игры .Здесь вы сможете посмотреть игры НФЛ в сезоне 2021–2022 годов.
Paramount +
Рональд Мартинес / Getty Images
Paramount + предлагает ограниченный доступ к NFL. Премиум-подписка Paramount + включает прямой доступ к вашей местной партнерской станции CBS для просмотра воскресных дневных игр.
Подписка Parmount + Premium, 10 долларов в месяц
Hulu
Скотт Тэтч / Getty Images)
Подписка на Hulu Live TV предлагает неограниченный доступ ко всем местным и национальным играм НФЛ.В прошлом месяце потоковая служба объявила, что план в 65 долларов в месяц теперь предоставляет подписчикам доступ к сети NFL — каналу с круглогодичным футбольным контентом. Смотрите прямые трансляции предсезонных игр НФЛ, эксклюзивные прямые трансляции матчей регулярного сезона НФЛ, студийные шоу и множество оригинальных сериалов, посвященных НФЛ.
За дополнительные 10 долларов в месяц любители спорта получают спортивный дополнительный пакет Hulu с NFL RedZone. Он предлагает не только семь часов футбольных матчей в воскресенье вечером, но и возможность транслировать все программы RedZone из сезона НФЛ 2020 года, с августа по октябрь.23 и 8 сентября, до начала сезона 2021 года.
Hulu Live TV, от 65 долларов в месяц
YouTube TV
Майк Стоб / Getty Images
YouTube TV предлагает покрытие потоковой передачи NFL, аналогичное Hulu, с дополнительным бонусом в виде простых в использовании возможностей DVR. Цены и пакеты также аналогичны Hulu, с базовым пакетом в 65 долларов (включая сеть NFL) и возможностью добавить NFL RedZone как часть их пакета Sports Plus за дополнительные 11 долларов в месяц.
YouTube TV, от 65 долларов в месяц
FuboTV
Мэдди Мейер / Getty Images
FuboTV — это спортивный вариант с доступом ко всем играм НФЛ в течение всего сезона.
Помимо футбола, FuboTV также предлагает MLB, NBA, NHL, MLS и международные футбольные игры. Как YouTube TV и Roku, сеть NFL включена в базовый пакет, а NFL RedZone стоит дополнительно 11 долларов в месяц.
FuboTV, от 65 долларов в месяц
Игровой пропуск NFL
Энди Лайонс / Getty Images
NFL Game Pass — легкая задача для многих упорных футбольных фанатов. Фиксированные 100 долларов в год предлагают потоковый доступ к каждой игре NFL регулярного сезона, NFL RedZone, NFL Originals, программам NFL и обширной коллекции игр по запросу.Для тех, кто любит смотреть несколько игр одновременно, он также предлагает возможность потоковой передачи на пять устройств одновременно.
Игровой абонемент NFL, 100 долларов в год
Amazon Prime Video
Кристиан Петерсен / Getty Images
Сезон 2021 года — отличное время для начала трансляции игр НФЛ по четвергам на Amazon — в 2022 году Amazon Prime Video станет домом для неровных трансляций футбольных матчей в четверг вечером.На эфирных телеканалах по-прежнему будут транслироваться игры своих местных команд, а NFL Game Pass будет продолжать транслировать все игры регулярного сезона.
Amazon Prime Video, 119 долларов в год
Sling TV
Кристиан Петерсен / Getty Images
Sling TV, по сути, недорогая коллекция местных и кабельных телеканалов, предлагаемых в потоковом режиме, имеет некоторые ограниченные возможности потоковой передачи NFL.Игры НФЛ, транслируемые на местных каналах FOX или NBC, а также футбол в понедельник вечером на ESPN, включены в базовый пакет.
Sling TV, 35 долларов в месяц
AT&T TV
Кевин С. Кокс / Getty Images
AT&T TV транслирует все игры НФЛ, предлагаемые на местных каналах, CBS, и игры в понедельник вечером на ESPN. В четверг и воскресенье вечерние игры на некоторых местных рынках NBC можно транслировать только на планшете или компьютере.
AT&T TV, 70 долларов в месяц
Приложение NFL
Марк Браун / Getty Images
Хотите попасть в прямую трансляцию НФЛ бесплатно онлайн? Загрузите бесплатное официальное приложение НФЛ и наслаждайтесь живыми местными играми и играми в прайм-тайм на своем смартфоне, а также просматривайте основные моменты, последние новости и многое другое.
Приложение NFL, бесплатно
Связанный контент из CBS Essentials
Heartland Newsfeed Radio Network
Lions Of Liberty — Подкаст Lions Of Liberty
01:55
Радиосеть Heartland Newsfeed — ID станции 002
34:01
Радиосеть Heartland Newsfeed — поток поддерживается спонсорами и рекламодателями
34:10
Радиосеть Heartland Newsfeed — Подписывайтесь на нас в Facebook, Twitter и Instagram
34:16
FOX News Radio — выпуск новостей в 18:00
34:24
LRN.FM — Бесплатный разговор в прямом эфире
39:54
Радиосеть Heartland Newsfeed — ID станции 001
94:15
Радиосеть Heartland Newsfeed — поток поддерживается спонсорами и рекламодателями
94:22
Радиосеть Heartland Newsfeed — Подписывайтесь на нас в Facebook, Twitter и Instagram
94:28
FOX News Radio — выпуск новостей в 19:00
94:35
LRN.FM — Бесплатный разговор в прямом эфире
100: 05
Радиосеть Heartland Newsfeed — ID станции 002
154: 01
Радиосеть Heartland Newsfeed — поток поддерживается спонсорами и рекламодателями
154: 09
Радиосеть Heartland Newsfeed — Подписывайтесь на нас в Facebook, Twitter и Instagram
154: 15
FOX News Radio — выпуск новостей в 20:00
154: 23
LRN.FM — Бесплатный разговор в прямом эфире
159: 53
Радиосеть Heartland Newsfeed — ID станции 001
214: 01
Радиосеть Heartland Newsfeed — поток поддерживается спонсорами и рекламодателями
214: 07
Радиосеть Heartland Newsfeed — Подписывайтесь на нас в Facebook, Twitter и Instagram
214: 13
FOX News Radio — выпуск новостей в 21:00
214: 21
Sports Byline США — Sports Byline США
219: 21
Радиосеть Heartland Newsfeed — ID станции 002
274: 15
Радиосеть Heartland Newsfeed — поток поддерживается спонсорами и рекламодателями
274: 23
Радиосеть Heartland Newsfeed — Подписывайтесь на нас в Facebook, Twitter и Instagram
274: 29
FOX News Radio — выпуск новостей в 22:00
274: 37
Sports Byline США — Sports Byline США
279: 35
.