NetworkStream Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit le flux de données sous-jacent pour l’accès réseau.
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
- Héritage
- Héritage
- Implémente
Remarques
La classe NetworkStream fournit des méthodes permettant d’envoyer et de recevoir des données sur des sockets Stream en mode bloquant. Pour plus d’informations sur le blocage et les Socketnon bloquants, consultez Utilisation d’un socket client asynchrone. Vous pouvez utiliser la classe NetworkStream pour le transfert de données synchrone et asynchrone. Pour plus d’informations sur la communication synchrone et asynchrone, consultez sockets.
Pour créer un NetworkStream, vous devez fournir une Socketconnectée. Vous pouvez également spécifier l’autorisation FileAccess que l'NetworkStream a sur le Socketfourni. Par défaut, la fermeture du NetworkStream ne ferme pas le Socketfourni. Si vous souhaitez que le NetworkStream ait l’autorisation de fermer le Socketfourni, vous devez spécifier true
pour la valeur du paramètre ownsSocket
.
Utilisez les méthodes Write et Read pour les E/S de blocage synchrones simples à thread unique. Si vous souhaitez traiter votre E/S de manière asynchrone, envisagez d’utiliser les méthodes Task ou ValueTaskbasées sur des ReadAsync et des WriteAsync.
Le NetworkStream ne prend pas en charge l’accès aléatoire au flux de données réseau. La valeur de la propriété CanSeek, qui indique si le flux prend en charge la recherche, est toujours false
; la lecture de la propriété Position, la lecture de la propriété Length ou l’appel de la méthode Seek lève une NotSupportedException.
Les opérations de lecture et d’écriture peuvent être effectuées simultanément sur une instance de la classe NetworkStream sans avoir besoin de synchronisation. Tant qu’il existe un thread unique pour les opérations d’écriture et un thread unique pour les opérations de lecture, il n’y aura pas d’interférence croisée entre les threads de lecture et d’écriture et aucune synchronisation n’est requise.
Constructeurs
NetworkStream(Socket) |
Crée une instance de la classe NetworkStream pour la Socketspécifiée. |
NetworkStream(Socket, Boolean) |
Initialise une nouvelle instance de la classe NetworkStream pour le Socket spécifié avec la propriété Socket spécifiée. |
NetworkStream(Socket, FileAccess) |
Crée une instance de la classe NetworkStream pour le Socket spécifié avec les droits d’accès spécifiés. |
NetworkStream(Socket, FileAccess, Boolean) |
Crée une instance de la classe NetworkStream pour la Socket spécifiée avec les droits d’accès spécifiés et la propriété Socket spécifiée. |
Propriétés
CanRead |
Obtient une valeur qui indique si le NetworkStream prend en charge la lecture. |
CanSeek |
Obtient une valeur qui indique si le flux prend en charge la recherche. Cette propriété n’est actuellement pas prise en charge. Cette propriété retourne toujours |
CanTimeout |
Indique si les propriétés de délai d’attente sont utilisables pour NetworkStream. |
CanTimeout |
Obtient une valeur qui détermine si le flux actuel peut expirer. (Hérité de Stream) |
CanWrite |
Obtient une valeur qui indique si le NetworkStream prend en charge l’écriture. |
DataAvailable |
Obtient une valeur qui indique si les données sont disponibles sur le NetworkStream à lire immédiatement. |
Length |
Obtient la longueur des données disponibles sur le flux. Cette propriété n’est actuellement pas prise en charge et lève toujours une NotSupportedException. |
Position |
Obtient ou définit la position actuelle dans le flux. Cette propriété n’est actuellement pas prise en charge et lève toujours une NotSupportedException. |
Readable |
Obtient ou définit une valeur qui indique si le NetworkStream peut être lu. |
ReadTimeout |
Obtient ou définit la durée pendant laquelle une opération de lecture bloque l’attente des données. |
ReadTimeout |
Obtient ou définit une valeur, en millisecondes, qui détermine la durée pendant laquelle le flux tente de lire avant l’expiration du délai d’attente. (Hérité de Stream) |
Socket |
Obtient le Socketsous-jacent . |
Writeable |
Obtient une valeur qui indique si le NetworkStream est accessible en écriture. |
WriteTimeout |
Obtient ou définit la durée pendant laquelle une opération d’écriture bloque l’attente des données. |
WriteTimeout |
Obtient ou définit une valeur, en millisecondes, qui détermine la durée pendant laquelle le flux tentera d’écrire avant l’expiration du délai d’attente. (Hérité de Stream) |
Méthodes
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Commence une lecture asynchrone à partir du NetworkStream. |
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Commence une opération de lecture asynchrone. (Envisagez d’utiliser ReadAsync(Byte[], Int32, Int32) à la place.) (Hérité de Stream) |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Commence une écriture asynchrone dans un flux. |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Commence une opération d’écriture asynchrone. (Envisagez d’utiliser WriteAsync(Byte[], Int32, Int32) à la place.) (Hérité de Stream) |
Close() |
Ferme le NetworkStream. |
Close() |
Ferme le flux actuel et libère toutes les ressources (telles que les sockets et les handles de fichiers) associées au flux actuel. Au lieu d’appeler cette méthode, vérifiez que le flux est correctement supprimé. (Hérité de Stream) |
Close(Int32) |
Ferme le NetworkStream après avoir attendu l’heure spécifiée pour autoriser l’envoi des données. |
Close(TimeSpan) |
Ferme le NetworkStream après avoir attendu la durée spécifiée pour permettre l’envoi des données. |
CopyTo(Stream) |
Lit les octets du flux actuel et les écrit dans un autre flux. Les deux positions de flux sont avancées par le nombre d’octets copiés. (Hérité de Stream) |
CopyTo(Stream, Int32) |
Lit les octets du flux actuel et les écrit dans un autre flux à l’aide d’une taille de mémoire tampon spécifiée. Les deux positions de flux sont avancées par le nombre d’octets copiés. (Hérité de Stream) |
CopyToAsync(Stream) |
Lit de manière asynchrone les octets du flux actuel et les écrit dans un autre flux. Les deux positions de flux sont avancées par le nombre d’octets copiés. (Hérité de Stream) |
CopyToAsync(Stream, CancellationToken) |
Lit de manière asynchrone les octets du flux actuel et les écrit dans un autre flux à l’aide d’un jeton d’annulation spécifié. Les deux positions de flux sont avancées par le nombre d’octets copiés. (Hérité de Stream) |
CopyToAsync(Stream, Int32) |
Lit de façon asynchrone les octets du flux actuel et les écrit dans un autre flux à l’aide d’une taille de mémoire tampon spécifiée. Les deux positions de flux sont avancées par le nombre d’octets copiés. (Hérité de Stream) |
CopyToAsync(Stream, Int32, CancellationToken) |
Lit de manière asynchrone les octets du flux actuel et les écrit dans un autre flux à l’aide d’une taille de mémoire tampon et d’un jeton d’annulation spécifiés. Les deux positions de flux sont avancées par le nombre d’octets copiés. (Hérité de Stream) |
CreateObjRef(Type) |
Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
CreateWaitHandle() |
Obsolète.
Obsolète.
Obsolète.
Alloue un objet WaitHandle. (Hérité de Stream) |
Dispose() |
Libère toutes les ressources utilisées par le Stream. (Hérité de Stream) |
Dispose(Boolean) |
Libère les ressources non managées utilisées par le NetworkStream et libère éventuellement les ressources managées. |
DisposeAsync() |
Libère de façon asynchrone les ressources non managées utilisées par le Stream. (Hérité de Stream) |
EndRead(IAsyncResult) |
Gère la fin d’une lecture asynchrone. |
EndRead(IAsyncResult) |
Attend la fin de la lecture asynchrone en attente. (Envisagez d’utiliser ReadAsync(Byte[], Int32, Int32) à la place.) (Hérité de Stream) |
EndWrite(IAsyncResult) |
Gère la fin d’une écriture asynchrone. |
EndWrite(IAsyncResult) |
Termine une opération d’écriture asynchrone. (Envisagez d’utiliser WriteAsync(Byte[], Int32, Int32) à la place.) (Hérité de Stream) |
Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
Finalize() |
Libère toutes les ressources utilisées par le NetworkStream. |
Flush() |
Vide les données du flux. Cette méthode est réservée pour une utilisation ultérieure. |
FlushAsync() |
Efface de façon asynchrone toutes les mémoires tampons de ce flux et entraîne l’écriture de toutes les données mises en mémoire tampon sur l’appareil sous-jacent. (Hérité de Stream) |
FlushAsync(CancellationToken) |
Vide les données du flux en tant qu’opération asynchrone. |
FlushAsync(CancellationToken) |
Efface de façon asynchrone toutes les mémoires tampons de ce flux, entraîne l’écriture de toutes les données mises en mémoire tampon sur l’appareil sous-jacent et surveille les demandes d’annulation. (Hérité de Stream) |
GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
GetLifetimeService() |
Obsolète.
Récupère l’objet de service de durée de vie actuel qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
InitializeLifetimeService() |
Obsolète.
Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
MemberwiseClone(Boolean) |
Crée une copie superficielle de l’objet MarshalByRefObject actuel. (Hérité de MarshalByRefObject) |
ObjectInvariant() |
Obsolète.
Fournit la prise en charge d’un Contract. (Hérité de Stream) |
Read(Byte[], Int32, Int32) |
Lit les données de l'NetworkStream et les stocke dans un tableau d’octets. |
Read(Span<Byte>) |
Lit les données de l'NetworkStream et les stocke dans une étendue d’octets en mémoire. |
Read(Span<Byte>) |
En cas de substitution dans une classe dérivée, lit une séquence d’octets à partir du flux actuel et avance la position dans le flux par le nombre d’octets lus. (Hérité de Stream) |
ReadAsync(Byte[], Int32, Int32) |
Lit de façon asynchrone une séquence d’octets à partir du flux actuel et avance la position dans le flux en fonction du nombre d’octets lus. (Hérité de Stream) |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Lit les données de l'NetworkStream et les stocke dans une plage spécifiée d’un tableau d’octets en tant qu’opération asynchrone. |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Lit de façon asynchrone une séquence d’octets à partir du flux actuel, avance la position dans le flux en fonction du nombre d’octets lus et surveille les demandes d’annulation. (Hérité de Stream) |
ReadAsync(Memory<Byte>, CancellationToken) |
Lit les données de l'NetworkStream et les stocke dans une plage de mémoire d’octets en tant qu’opération asynchrone. |
ReadAsync(Memory<Byte>, CancellationToken) |
Lit de façon asynchrone une séquence d’octets à partir du flux actuel, avance la position dans le flux en fonction du nombre d’octets lus et surveille les demandes d’annulation. (Hérité de Stream) |
ReadAtLeast(Span<Byte>, Int32, Boolean) |
Lit au moins un nombre minimal d’octets du flux actuel et avance la position dans le flux par le nombre d’octets lus. (Hérité de Stream) |
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
Lit de façon asynchrone au moins un nombre minimal d’octets à partir du flux actuel, avance la position dans le flux par le nombre d’octets lus et surveille les demandes d’annulation. (Hérité de Stream) |
ReadByte() |
Lit un octet à partir de la NetworkStream et avance la position dans le flux d’un octet, ou retourne -1 si à la fin du flux. |
ReadByte() |
Lit un octet à partir du flux et avance la position dans le flux d’un octet, ou retourne -1 si à la fin du flux. (Hérité de Stream) |
ReadExactly(Byte[], Int32, Int32) |
Lit |
ReadExactly(Span<Byte>) |
Lit les octets du flux actuel et avance la position dans le flux jusqu’à ce que le |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Lit de façon asynchrone |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Lit de manière asynchrone les octets du flux actuel, avance la position dans le flux jusqu’à ce que le |
Seek(Int64, SeekOrigin) |
Définit la position actuelle du flux sur la valeur donnée. Cette méthode n’est actuellement pas prise en charge et lève toujours une NotSupportedException. |
SetLength(Int64) |
Définit la longueur du flux. Cette méthode lève toujours une NotSupportedException. |
ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
Write(Byte[], Int32, Int32) |
Écrit des données dans le NetworkStream à partir d’une plage spécifiée d’un tableau d’octets. |
Write(ReadOnlySpan<Byte>) |
Écrit des données dans le NetworkStream à partir d’une étendue d’octets en lecture seule. |
Write(ReadOnlySpan<Byte>) |
En cas de substitution dans une classe dérivée, écrit une séquence d’octets dans le flux actuel et avance la position actuelle dans ce flux par le nombre d’octets écrits. (Hérité de Stream) |
WriteAsync(Byte[], Int32, Int32) |
Écrit de façon asynchrone une séquence d’octets dans le flux actuel et avance la position actuelle dans ce flux par le nombre d’octets écrits. (Hérité de Stream) |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Écrit des données dans le NetworkStream à partir de la plage spécifiée d’un tableau d’octets en tant qu’opération asynchrone. |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Écrit de façon asynchrone une séquence d’octets dans le flux actuel, avance la position actuelle dans ce flux par le nombre d’octets écrits et surveille les demandes d’annulation. (Hérité de Stream) |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Écrit des données dans le NetworkStream à partir d’une plage de mémoire d’octets en lecture seule en tant qu’opération asynchrone. |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Écrit de façon asynchrone une séquence d’octets dans le flux actuel, avance la position actuelle dans ce flux par le nombre d’octets écrits et surveille les demandes d’annulation. (Hérité de Stream) |
WriteByte(Byte) |
Écrit un octet à la position actuelle dans la NetworkStream et avance la position dans le flux d’un octet. |
WriteByte(Byte) |
Écrit un octet à la position actuelle dans le flux et avance la position dans le flux d’un octet. (Hérité de Stream) |
Implémentations d’interfaces explicites
IDisposable.Dispose() |
Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code. Libère toutes les ressources utilisées par le NetworkStream. |
Méthodes d’extension
CopyToAsync(Stream, PipeWriter, CancellationToken) |
Lit de manière asynchrone les octets de l'Stream et les écrit dans le PipeWriterspécifié, à l’aide d’un jeton d’annulation. |
ConfigureAwait(IAsyncDisposable, Boolean) |
Configure la façon dont les attentes sur les tâches retournées à partir d’un jetable asynchrone sont effectuées. |