NamedPipeServerStream 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.
Expose un Stream autour d’un canal nommé, prenant en charge des opérations en lecture et en écriture à la fois synchrones et asynchrones.
public ref class NamedPipeServerStream sealed : System::IO::Pipes::PipeStream
public sealed class NamedPipeServerStream : System.IO.Pipes.PipeStream
type NamedPipeServerStream = class
inherit PipeStream
Public NotInheritable Class NamedPipeServerStream
Inherits PipeStream
- Héritage
- Héritage
Exemples
L’exemple suivant illustre un moyen d’envoyer une chaîne d’un processus parent à un processus enfant sur le même ordinateur à l’aide de canaux nommés. Cet exemple crée un NamedPipeServerStream objet dans un processus parent avec la PipeDirection valeur Out. Le serveur attend ensuite qu’un NamedPipeClientStream objet dans un processus enfant s’y connecte. Dans cet exemple, les deux processus se trouvent sur le même ordinateur et l’objet NamedPipeClientStream a la PipeDirection valeur In. Le processus parent envoie ensuite une chaîne fournie par l’utilisateur au processus enfant. La chaîne est affichée dans la console.
Cet exemple concerne le processus serveur, qui utilise la NamedPipeServerStream classe . Pour l’ensemble de l’exemple de code, y compris le code du client et du serveur de canal, consultez How to : Use Named Pipes for Network Interprocess Communication.
using System;
using System.IO;
using System.IO.Pipes;
class PipeServer
{
static void Main()
{
using (NamedPipeServerStream pipeServer =
new NamedPipeServerStream("testpipe", PipeDirection.Out))
{
Console.WriteLine("NamedPipeServerStream object created.");
// Wait for a client to connect
Console.Write("Waiting for client connection...");
pipeServer.WaitForConnection();
Console.WriteLine("Client connected.");
try
{
// Read user input and send that to the client process.
using (StreamWriter sw = new StreamWriter(pipeServer))
{
sw.AutoFlush = true;
Console.Write("Enter text: ");
sw.WriteLine(Console.ReadLine());
}
}
// Catch the IOException that is raised if the pipe is broken
// or disconnected.
catch (IOException e)
{
Console.WriteLine("ERROR: {0}", e.Message);
}
}
}
}
Imports System.IO
Imports System.IO.Pipes
Class PipeServer
Shared Sub Main()
Dim pipeServer As New NamedPipeServerStream("testpipe", PipeDirection.Out)
Console.WriteLine("NamedPipeServerStream object created.")
' Wait for a client to connect
Console.Write("Waiting for a client connection...")
pipeServer.WaitForConnection()
Console.WriteLine("Client connected.")
Try
'Read user input and send that to the client process.
Dim sw As New StreamWriter(pipeServer)
sw.AutoFlush = True
Console.Write("Enter Text: ")
sw.WriteLine(Console.ReadLine())
Catch ex As IOException
' Catch the IOException that is raised if the pipe is broken
' or disconnected
Console.WriteLine("ERROR: {0}", ex.Message)
End Try
End Sub
End Class
Remarques
Les canaux nommés fournissent des canaux unidirectionnel ou duplex pour la communication entre un serveur de canal et un ou plusieurs clients de canal. Les canaux nommés peuvent être utilisés pour la communication entre processus localement ou sur un réseau. Un nom de canal unique peut être partagé par plusieurs NamedPipeClientStream objets.
N’importe quel processus peut agir en tant que serveur ou client de canal nommé, ou les deux.
Constructeurs
NamedPipeServerStream(PipeDirection, Boolean, Boolean, SafePipeHandle) |
Initialise une nouvelle instance de la classe NamedPipeServerStream à partir du handle de canal spécifié. |
NamedPipeServerStream(String) |
Initialise une nouvelle instance de la classe NamedPipeServerStream à l’aide du nom de canal spécifié. |
NamedPipeServerStream(String, PipeDirection) |
Initialise une nouvelle instance de la classe NamedPipeServerStream avec le nom et le sens du canal spécifiés. |
NamedPipeServerStream(String, PipeDirection, Int32) |
Initialise une nouvelle instance de la classe NamedPipeServerStream avec le nom du canal, le sens du canal et le nombre maximal d'instances de serveur spécifiés. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode) |
Initialise une nouvelle instance de la classe NamedPipeServerStream avec le nom du canal, le sens du canal, le nombre maximal d’instances de serveur et le mode de transmission spécifiés. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions) |
Initialise une nouvelle instance de la classe NamedPipeServerStream avec le nom du canal, le sens du canal, le nombre maximal d’instances de serveur, le mode de transmission et les options du canal spécifiés. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32) |
Initialise une nouvelle instance de la classe NamedPipeServerStream avec le nom du canal, le sens du canal, le nombre maximal d’instances de serveur, le mode de transmission et les options du canal spécifiés, ainsi que les tailles des mémoires tampon entrée et sortie recommandées. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity) |
Initialise une nouvelle instance de la classe NamedPipeServerStream avec le nom du canal, le sens du canal, le nombre maximal d’instances de serveur, le mode de transmission, les options du canal et la sécurité du canal spécifiés, ainsi que les tailles des mémoires tampon entrée et sortie recommandées. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity, HandleInheritability) |
Initialise une nouvelle instance de la classe NamedPipeServerStream avec le nom du canal, le sens du canal, le nombre maximal d’instances de serveur, le mode de transmission, les options du canal, la sécurité du canal et le mode d’héritage spécifiés, ainsi que les tailles des mémoires tampon entrée et sortie recommandées. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity, HandleInheritability, PipeAccessRights) |
Initialise une nouvelle instance de la classe NamedPipeServerStream avec le nom du canal, le sens du canal, le nombre maximal d’instances de serveur, le mode de transmission, les options du canal, la sécurité du canal, le mode d’héritage et les autorisations d’accès du canal spécifiés, ainsi que les tailles des mémoires tampon entrée et sortie recommandées. |
Champs
MaxAllowedServerInstances |
Représente le nombre maximal des instances de serveur que les ressources système autorisent. |
Propriétés
CanRead |
Obtient une valeur indiquant si le flux actuel prend en charge les opérations de lecture. (Hérité de PipeStream) |
CanSeek |
Obtient une valeur indiquant si le flux actuel prend en charge les opérations de recherche. (Hérité de PipeStream) |
CanTimeout |
Obtient une valeur qui détermine si le flux actuel peut dépasser le délai d'attente. (Hérité de Stream) |
CanWrite |
Obtient une valeur indiquant si le flux actuel prend en charge les opérations d'écriture. (Hérité de PipeStream) |
InBufferSize |
Obtient la taille, en octets, de la mémoire tampon entrante pour un canal. (Hérité de PipeStream) |
IsAsync |
Obtient une valeur indiquant si un objet PipeStream a été ouvert en mode asynchrone ou synchrone. (Hérité de PipeStream) |
IsConnected |
Obtient ou définit une valeur indiquant si un objet PipeStream est connecté. (Hérité de PipeStream) |
IsHandleExposed |
Obtient une valeur indiquant si un handle vers un objet PipeStream est exposé. (Hérité de PipeStream) |
IsMessageComplete |
Obtient une valeur indiquant s'il y a plus de données dans le message retourné par l'opération de lecture la plus récente. (Hérité de PipeStream) |
Length |
Obtient la longueur d'un flux, en octets. (Hérité de PipeStream) |
OutBufferSize |
Obtient la taille, en octets, de la mémoire tampon sortante pour un canal. (Hérité de PipeStream) |
Position |
Obtient ou définit la position actuelle du flux en cours. (Hérité de PipeStream) |
ReadMode |
Obtient ou définit le mode de lecture d'un objet PipeStream. (Hérité de PipeStream) |
ReadTimeout |
Obtient ou définit une valeur, exprimée en millisecondes, qui définit la durée pendant laquelle le flux tentera d’effectuer la lecture avant dépassement du délai d’attente. (Hérité de Stream) |
SafePipeHandle |
Reçoit le handle sécurisé pour l'extrémité locale du canal que l'objet PipeStream en cours encapsule. (Hérité de PipeStream) |
TransmissionMode |
Obtient le mode de transmission par canal pris en charge par le canal actuel. (Hérité de PipeStream) |
WriteTimeout |
Obtient ou définit une valeur, exprimée en millisecondes, qui définit la durée pendant laquelle le flux tentera d’écrire des données avant l’expiration du délai d’attente. (Hérité de Stream) |
Méthodes
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Débute une opération de lecture asynchrone. (Hérité de PipeStream) |
BeginWaitForConnection(AsyncCallback, Object) |
Démarre une opération asynchrone pour attendre un client pour s'y connecter. |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Débute une opération d'écriture asynchrone. (Hérité de PipeStream) |
CheckPipePropertyOperations() |
Vérifie que l'état du canal correspond à celui requis pour l'obtention ou la définition des propriétés. (Hérité de PipeStream) |
CheckReadOperations() |
Vérifie que le canal est connecté pour permettre les opérations de lecture. (Hérité de PipeStream) |
CheckWriteOperations() |
Vérifie que le canal est connecté pour permettre les opérations d'écriture. (Hérité de PipeStream) |
Close() |
Ferme le flux actuel et libère toutes les ressources (comme les sockets et les handles de fichiers) associées à celui-ci. Au lieu d'appeler cette méthode, assurez-vous que le flux est correctement supprimé. (Hérité de Stream) |
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 tous les octets du flux actuel et les écrit dans un autre flux, en utilisant 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 façon asynchrone tous 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 façon asynchrone les octets du flux actuel et les écrit dans un autre flux, en utilisant 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 tous les octets du flux actuel et les écrit dans un autre flux, en utilisant 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 façon asynchrone les octets du flux actuel et les écrit dans un autre flux, en utilisant 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 contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
CreateWaitHandle() |
Obsolète.
Obsolète.
Obsolète.
Alloue un objet WaitHandle. (Hérité de Stream) |
Disconnect() |
Déconnecte la connexion active. |
Dispose() |
Libère toutes les ressources utilisées par Stream. (Hérité de Stream) |
Dispose(Boolean) |
Libère les ressources non managées utilisées par la classe PipeStream et libère éventuellement les ressources managées. (Hérité de PipeStream) |
DisposeAsync() |
Libère de façon asynchrone les ressources non managées utilisées par Stream. (Hérité de Stream) |
EndRead(IAsyncResult) |
Met fin à une requête de lecture asynchrone en attente. (Hérité de PipeStream) |
EndWaitForConnection(IAsyncResult) |
Termine une opération asynchrone pour attendre un client pour s'y connecter. |
EndWrite(IAsyncResult) |
Met fin à une requête d'écriture asynchrone en attente. (Hérité de PipeStream) |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
Finalize() |
Libère les ressources non managées et exécute d’autres opérations de nettoyage avant la récupération de l’instance de NamedPipeServerStream par le garbage collection. |
Flush() |
Efface la mémoire tampon pour le flux actuel et provoque l'écriture des données mises en mémoire tampon dans l'appareil sous-jacent. (Hérité de PipeStream) |
FlushAsync() |
Efface de façon asynchrone toutes les mémoires tampons pour ce flux et provoque l'écriture des données mises en mémoire tampon sur l'appareil sous-jacent. (Hérité de Stream) |
FlushAsync(CancellationToken) |
Efface la mémoire tampon pour le flux actuel de manière asynchrone et provoque l'écriture des données mises en mémoire tampon dans l'appareil sous-jacent. (Hérité de PipeStream) |
GetAccessControl() |
Obtient un objet PipeSecurity qui encapsule les entrées de la liste de contrôle d'accès (ACL) pour le canal décrit par l'objet PipeStream actuel. (Hérité de PipeStream) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetImpersonationUserName() |
Obtient le nom d'utilisateur du client à l'autre bout du canal. |
GetLifetimeService() |
Obsolète.
Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
InitializeHandle(SafePipeHandle, Boolean, Boolean) |
Initialise un objet PipeStream à partir de l'objet SafePipeHandle spécifié. (Hérité de PipeStream) |
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 Object actuel. (Hérité de Object) |
MemberwiseClone(Boolean) |
Crée une copie superficielle de l'objet MarshalByRefObject actuel. (Hérité de MarshalByRefObject) |
ObjectInvariant() |
Obsolète.
Assure la prise en charge d'un Contract. (Hérité de Stream) |
Read(Byte[], Int32, Int32) |
Lit un bloc d’octets depuis un flux et écrit les données dans une mémoire tampon spécifiée, en commençant à une position spécifiée pour une longueur spécifiée. (Hérité de PipeStream) |
Read(Span<Byte>) |
Lit une séquence d’octets dans le flux actuel, les écrit dans un tableau d’octets et avance la position dans le flux du nombre d’octets lus. (Hérité de PipeStream) |
ReadAsync(Byte[], Int32, Int32) |
Lit de façon asynchrone une séquence d'octets dans le flux actuel et avance la position dans le flux du nombre d'octets lus. (Hérité de Stream) |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Lit de façon asynchrone une séquence d’octets du flux actuel dans un tableau d’octets, en commençant à une position spécifiée pour un nombre spécifié d’octets, avance la position dans le flux du nombre d’octets lus et supervise les demandes d’annulation. (Hérité de PipeStream) |
ReadAsync(Memory<Byte>, CancellationToken) |
Lit de façon asynchrone une séquence d’octets dans le flux actuel, les écrit dans une plage de mémoire d’octets, avance la position dans le flux du nombre d’octets lus et supervise les demandes d’annulation. (Hérité de PipeStream) |
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 manière asynchrone au moins un nombre minimal d’octets 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) |
ReadByte() |
Lit un octet à partir d'un canal. (Hérité de PipeStream) |
ReadExactly(Byte[], Int32, Int32) |
Lit le |
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 manière asynchrone le nombre d’octets |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Lit de manière asynchrone les octets du flux actuel, avance la position dans le flux jusqu’à ce que le |
RunAsClient(PipeStreamImpersonationWorker) |
Appelle un délégué tout en empruntant l'identité du client. |
Seek(Int64, SeekOrigin) |
Affecte la valeur spécifiée à la position actuelle du flux en cours. (Hérité de PipeStream) |
SetAccessControl(PipeSecurity) |
Applique les entrées de la liste de contrôle d'accès (ACL) spécifiées par un objet PipeSecurity au canal spécifié par l'objet PipeStream actuel. (Hérité de PipeStream) |
SetLength(Int64) |
Définit la longueur du flux actuel à la valeur spécifiée. (Hérité de PipeStream) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
WaitForConnection() |
Attend qu’un client se connecte à l’objet NamedPipeServerStream. |
WaitForConnectionAsync() |
Attend de manière asynchrone qu’un client se connecte à l’objet NamedPipeServerStream. |
WaitForConnectionAsync(CancellationToken) |
Attend de manière asynchrone qu’un client se connecte à cet objet NamedPipeServerStream et surveille les requêtes d’annulation. |
WaitForPipeDrain() |
Attend que l'autre extrémité du canal lise tous les octets envoyés. (Hérité de PipeStream) |
Write(Byte[], Int32, Int32) |
Écrit un bloc d'octets dans le flux actuel en utilisant les données d'une mémoire tampon. (Hérité de PipeStream) |
Write(ReadOnlySpan<Byte>) |
Écrit une séquence d’octets dans le flux actuel et avance la position actuelle dans ce flux du nombre d’octets écrits. (Hérité de PipeStream) |
WriteAsync(Byte[], Int32, Int32) |
Écrit de façon asynchrone une séquence d'octets dans le flux actuel et avance la position actuelle dans le flux du nombre d'octets écrits. (Hérité de Stream) |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Écrit de façon asynchrone un nombre spécifié d’octets d’un tableau d’octets en commençant à une position spécifiée, avance la position actuelle dans ce flux du nombre d’octets écrit et supervise les demandes d’annulation. (Hérité de PipeStream) |
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 du nombre d'octets écrits et surveille les demandes d'annulation. (Hérité de PipeStream) |
WriteByte(Byte) |
Écrit un octet dans le flux en cours. (Hérité de PipeStream) |
Méthodes d’extension
CopyToAsync(Stream, PipeWriter, CancellationToken) |
Lit de façon asynchrone les octets du Stream et les écrit dans le PipeWriter spécifié en utilisant un jeton d’annulation. |
GetAccessControl(PipeStream) |
Retourne les informations de sécurité d’un flux de canal. |
SetAccessControl(PipeStream, PipeSecurity) |
Change les attributs de sécurité d’un flux de canal existant. |
ConfigureAwait(IAsyncDisposable, Boolean) |
Configure la façon dont les attentes sur les tâches retournées à partir d’un élément supprimable asynchrone sont effectuées. |
S’applique à
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour