NamedPipeServerStream Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Maakt een Stream rond een benoemde pijp beschikbaar, die zowel synchrone als asynchrone lees- en schrijfbewerkingen ondersteunt.
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
- Overname
- Overname
Voorbeelden
In het volgende voorbeeld ziet u een manier om een tekenreeks van een bovenliggend proces naar een onderliggend proces op dezelfde computer te verzenden met behulp van named pipes. In dit voorbeeld wordt een NamedPipeServerStream object gemaakt in een bovenliggend proces met een PipeDirection waarde van Out. De server wacht vervolgens tot een NamedPipeClientStream object in een onderliggend proces er verbinding mee maakt. In dit voorbeeld bevinden beide processen zich op dezelfde computer en heeft het NamedPipeClientStream object een PipeDirection waarde van In. Het bovenliggende proces verzendt vervolgens een door de gebruiker opgegeven tekenreeks naar het onderliggende proces. De tekenreeks wordt weergegeven in de console.
Dit voorbeeld is bedoeld voor het serverproces, dat gebruikmaakt van de NamedPipeServerStream klasse. Voor het volledige codevoorbeeld, inclusief de code voor zowel de pipe-client als de server, raadpleegt u 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
Opmerkingen
Benoemde pijpen bieden eenrichtings- of duplexpijpen voor communicatie tussen een pijpserver en een of meer pijpclients. Benoemde pijpen kunnen lokaal of via een netwerk worden gebruikt voor communicatie tussen processen. Een enkele pijpnaam kan worden gedeeld door meerdere NamedPipeClientStream objecten.
Elk proces kan fungeren als een benoemde pijpserver of -client, of beide.
Met betrekking tot threadveiligheid voor lezen en schrijven kunnen maximaal één lezer en één schrijver gelijktijdig een exemplaar gebruiken.
Constructors
| Name | Description |
|---|---|
| NamedPipeServerStream(PipeDirection, Boolean, Boolean, SafePipeHandle) |
Initialiseert een nieuw exemplaar van de NamedPipeServerStream klasse van de opgegeven pijpgreep. |
| NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity, HandleInheritability, PipeAccessRights) |
Initialiseert een nieuw exemplaar van de NamedPipeServerStream klasse met de opgegeven pijpnaam, pijprichting, maximum aantal serverexemplaren, transmissiemodus, pijpopties, aanbevolen in- en uitbuffergrootten, pijpbeveiliging, overnamemodus en toegangsrechten voor pijpen. |
| NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity, HandleInheritability) |
Initialiseert een nieuw exemplaar van de NamedPipeServerStream klasse met de opgegeven pijpnaam, pijprichting, maximum aantal serverexemplaren, transmissiemodus, pijpopties, aanbevolen buffergrootten, pijpbeveiliging en overnamemodus. |
| NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity) |
Initialiseert een nieuw exemplaar van de NamedPipeServerStream klasse met de opgegeven pijpnaam, pijprichting, maximum aantal serverexemplaren, transmissiemodus, pijpopties, aanbevolen in- en uitbuffergrootten en pijpbeveiliging. |
| NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32) |
Initialiseert een nieuw exemplaar van de NamedPipeServerStream klasse met de opgegeven pijpnaam, pijprichting, maximum aantal serverexemplaren, transmissiemodus, pijpopties en aanbevolen in- en uitbuffergrootten. |
| NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions) |
Initialiseert een nieuw exemplaar van de NamedPipeServerStream klasse met de opgegeven pijpnaam, pijprichting, maximum aantal serverexemplaren, transmissiemodus en pijpopties. |
| NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode) |
Initialiseert een nieuw exemplaar van de NamedPipeServerStream klasse met de opgegeven pijpnaam, pijprichting, maximum aantal serverexemplaren en de transmissiemodus. |
| NamedPipeServerStream(String, PipeDirection, Int32) |
Initialiseert een nieuw exemplaar van de NamedPipeServerStream klasse met de opgegeven pijpnaam, pijprichting en maximum aantal serverexemplaren. |
| NamedPipeServerStream(String, PipeDirection) |
Initialiseert een nieuw exemplaar van de NamedPipeServerStream klasse met de opgegeven pijpnaam en pijprichting. |
| NamedPipeServerStream(String) |
Initialiseert een nieuw exemplaar van de NamedPipeServerStream klasse met de opgegeven pijpnaam. |
Velden
| Name | Description |
|---|---|
| MaxAllowedServerInstances |
Geeft het maximum aantal serverexemplaren aan dat door de systeembronnen wordt toegestaan. |
Eigenschappen
| Name | Description |
|---|---|
| CanRead |
Hiermee wordt een waarde opgehaald die aangeeft of de huidige stroom leesbewerkingen ondersteunt. (Overgenomen van PipeStream) |
| CanSeek |
Hiermee wordt een waarde opgehaald die aangeeft of de huidige stroom zoekbewerkingen ondersteunt. (Overgenomen van PipeStream) |
| CanTimeout |
Hiermee wordt een waarde opgehaald die bepaalt of er een time-out optreedt voor de huidige stroom. (Overgenomen van Stream) |
| CanWrite |
Hiermee wordt een waarde opgehaald die aangeeft of de huidige stroom schrijfbewerkingen ondersteunt. (Overgenomen van PipeStream) |
| InBufferSize |
Hiermee haalt u de grootte, in bytes, van de binnenkomende buffer voor een pijp op. (Overgenomen van PipeStream) |
| IsAsync |
Hiermee wordt een waarde opgehaald die aangeeft of een PipeStream object asynchroon of synchroon is geopend. (Overgenomen van PipeStream) |
| IsConnected |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of een PipeStream object is verbonden. (Overgenomen van PipeStream) |
| IsHandleExposed |
Hiermee wordt een waarde opgehaald die aangeeft of een ingang voor een PipeStream object wordt weergegeven. (Overgenomen van PipeStream) |
| IsMessageComplete |
Hiermee wordt een waarde opgehaald die aangeeft of er meer gegevens in het bericht zijn geretourneerd door de meest recente leesbewerking. (Overgenomen van PipeStream) |
| Length |
Hiermee haalt u de lengte van een stream op, in bytes. (Overgenomen van PipeStream) |
| OutBufferSize |
Hiermee haalt u de grootte, in bytes, van de uitgaande buffer voor een pijp op. (Overgenomen van PipeStream) |
| Position |
Hiermee haalt u de huidige positie van de huidige stroom op of stelt u deze in. (Overgenomen van PipeStream) |
| ReadMode |
Hiermee wordt de leesmodus voor een PipeStream object opgehaald of ingesteld. (Overgenomen van PipeStream) |
| ReadTimeout |
Hiermee wordt een waarde opgehaald of ingesteld, in milliseconden, die bepaalt hoe lang de stroom probeert te lezen voordat er een time-out optreedt. (Overgenomen van Stream) |
| SafePipeHandle |
Hiermee haalt u de veilige ingang op voor het lokale uiteinde van de pijp die door het huidige PipeStream object wordt ingekapseld. (Overgenomen van PipeStream) |
| TransmissionMode |
Hiermee haalt u de transmissiemodus van de pijp op die wordt ondersteund door de huidige pijp. (Overgenomen van PipeStream) |
| WriteTimeout |
Hiermee wordt een waarde opgehaald of ingesteld, in milliseconden, die bepaalt hoe lang de stream probeert te schrijven voordat er een time-out optreedt. (Overgenomen van Stream) |
Methoden
| Name | Description |
|---|---|
| BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Begint een asynchrone leesbewerking. (Overgenomen van PipeStream) |
| BeginWaitForConnection(AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart om te wachten tot een client verbinding heeft gemaakt. |
| BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Hiermee wordt een asynchrone schrijfbewerking gestart. (Overgenomen van PipeStream) |
| CheckPipePropertyOperations() |
Controleert of de pijp de juiste status heeft voor het ophalen of instellen van eigenschappen. (Overgenomen van PipeStream) |
| CheckReadOperations() |
Controleert of de pijp een verbonden status heeft voor leesbewerkingen. (Overgenomen van PipeStream) |
| CheckWriteOperations() |
Controleert of de pijp een verbonden status heeft voor schrijfbewerkingen. (Overgenomen van PipeStream) |
| Close() |
Hiermee sluit u de huidige stroom en worden alle resources (zoals sockets en bestandsingangen) die aan de huidige stroom zijn gekoppeld, vrijgegeven. In plaats van deze methode aan te roepen, moet u ervoor zorgen dat de stream correct wordt verwijderd. (Overgenomen van Stream) |
| CopyTo(Stream, Int32) |
Leest de bytes uit de huidige stream en schrijft ze naar een andere stroom, met behulp van een opgegeven buffergrootte. Beide streamsposities worden geavanceerd door het aantal gekopieerde bytes. (Overgenomen van Stream) |
| CopyTo(Stream) |
Leest de bytes uit de huidige stream en schrijft ze naar een andere stream. Beide streamsposities worden geavanceerd door het aantal gekopieerde bytes. (Overgenomen van Stream) |
| CopyToAsync(Stream, CancellationToken) |
Asynchroon leest de bytes uit de huidige stream en schrijft deze naar een andere stream met behulp van een opgegeven annuleringstoken. Beide streamsposities worden geavanceerd door het aantal gekopieerde bytes. (Overgenomen van Stream) |
| CopyToAsync(Stream, Int32, CancellationToken) |
Asynchroon leest de bytes uit de huidige stream en schrijft deze naar een andere stroom, met behulp van een opgegeven buffergrootte en annuleringstoken. Beide streamsposities worden geavanceerd door het aantal gekopieerde bytes. (Overgenomen van Stream) |
| CopyToAsync(Stream, Int32) |
Asynchroon leest de bytes uit de huidige stream en schrijft deze naar een andere stroom, met behulp van een opgegeven buffergrootte. Beide streamsposities worden geavanceerd door het aantal gekopieerde bytes. (Overgenomen van Stream) |
| CopyToAsync(Stream) |
Asynchroon leest de bytes uit de huidige stream en schrijft ze naar een andere stream. Beide streamsposities worden geavanceerd door het aantal gekopieerde bytes. (Overgenomen van Stream) |
| CreateObjRef(Type) |
Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object. (Overgenomen van MarshalByRefObject) |
| CreateWaitHandle() |
Verouderd.
Verouderd.
Verouderd.
Wijst een WaitHandle object toe. (Overgenomen van Stream) |
| Disconnect() |
Hiermee wordt de huidige verbinding verbroken. |
| Dispose() |
Alle resources die worden gebruikt door de Stream. (Overgenomen van Stream) |
| Dispose(Boolean) |
Publiceert de niet-beheerde resources die door de PipeStream klasse worden gebruikt en brengt eventueel de beheerde resources vrij. (Overgenomen van PipeStream) |
| DisposeAsync() |
Geeft asynchroon de onbeheerde resources vrij die worden gebruikt door de Stream. (Overgenomen van Stream) |
| EndRead(IAsyncResult) |
Hiermee wordt een asynchrone leesaanvraag beëindigd. (Overgenomen van PipeStream) |
| EndWaitForConnection(IAsyncResult) |
Hiermee wordt een asynchrone bewerking beëindigd om te wachten tot een client verbinding heeft gemaakt. |
| EndWrite(IAsyncResult) |
Hiermee wordt een asynchrone schrijfaanvraag beëindigd. (Overgenomen van PipeStream) |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| Finalize() |
Publiceert onbeheerde resources en voert andere opschoonbewerkingen uit voordat het NamedPipeServerStream exemplaar wordt vrijgemaakt door garbagecollection. |
| Flush() |
Wist de buffer voor de huidige stroom en zorgt ervoor dat gebufferde gegevens naar het onderliggende apparaat worden geschreven. (Overgenomen van PipeStream) |
| FlushAsync() |
Asynchroon wist alle buffers voor deze stroom en zorgt ervoor dat eventuele gebufferde gegevens naar het onderliggende apparaat worden geschreven. (Overgenomen van Stream) |
| FlushAsync(CancellationToken) |
Asynchroon wist de buffer voor de huidige stroom en zorgt ervoor dat eventuele gebufferde gegevens naar het onderliggende apparaat worden geschreven. (Overgenomen van PipeStream) |
| GetAccessControl() |
Hiermee haalt u een PipeSecurity object op dat de toegangsbeheerlijstvermeldingen (ACL) inkapselt voor de pijp die wordt beschreven door het huidige PipeStream object. (Overgenomen van PipeStream) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetImpersonationUserName() |
Hiermee haalt u de gebruikersnaam van de client op aan het andere uiteinde van de pijp. |
| GetLifetimeService() |
Verouderd.
Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd. (Overgenomen van MarshalByRefObject) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| InitializeHandle(SafePipeHandle, Boolean, Boolean) |
Initialiseert een PipeStream object van het opgegeven SafePipeHandle object. (Overgenomen van PipeStream) |
| InitializeLifetimeService() |
Verouderd.
Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren. (Overgenomen van MarshalByRefObject) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| MemberwiseClone(Boolean) |
Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object. (Overgenomen van MarshalByRefObject) |
| ObjectInvariant() |
Verouderd.
Biedt ondersteuning voor een Contract. (Overgenomen van Stream) |
| Read(Byte[], Int32, Int32) |
Leest een blok bytes uit een stream en schrijft de gegevens naar een opgegeven buffer vanaf een opgegeven positie voor een opgegeven lengte. (Overgenomen van PipeStream) |
| Read(Span<Byte>) |
Hiermee wordt een reeks bytes uit de huidige stroom gelezen, naar een bytematrix geschreven en wordt de positie binnen de stream verplaatst door het aantal gelezen bytes. (Overgenomen van PipeStream) |
| ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Asynchroon leest een reeks bytes van de huidige stroom naar een bytematrix die begint op een opgegeven positie voor een opgegeven aantal bytes, de positie binnen de stream door het aantal gelezen bytes en bewaakt annuleringsaanvragen. (Overgenomen van PipeStream) |
| ReadAsync(Byte[], Int32, Int32) |
Asynchroon leest een reeks bytes uit de huidige stroom en wordt de positie binnen de stream verplaatst door het aantal gelezen bytes. (Overgenomen van Stream) |
| ReadAsync(Memory<Byte>, CancellationToken) |
Asynchroon leest een reeks bytes uit de huidige stroom, schrijft deze naar een bytegeheugenbereik, verplaatst de positie in de stream door het aantal bytes lezen en bewaakt annuleringsaanvragen. (Overgenomen van PipeStream) |
| ReadAtLeast(Span<Byte>, Int32, Boolean) |
Hiermee wordt ten minste een minimum aantal bytes uit de huidige stroom gelezen en wordt de positie binnen de stream verplaatst door het aantal gelezen bytes. (Overgenomen van Stream) |
| ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
Asynchroon leest ten minste een minimum aantal bytes uit de huidige stroom, verplaatst de positie binnen de stream door het aantal gelezen bytes en bewaakt annuleringsaanvragen. (Overgenomen van Stream) |
| ReadByte() |
Leest een byte uit een pijp. (Overgenomen van PipeStream) |
| ReadExactly(Byte[], Int32, Int32) |
|
| ReadExactly(Span<Byte>) |
Hiermee worden bytes van de huidige stroom gelezen en wordt de positie binnen de stroom verplaatst totdat de |
| ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Asynchroon leest |
| ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Asynchroon leest bytes uit de huidige stroom, verplaatst de positie binnen de stream totdat de |
| RunAsClient(PipeStreamImpersonationWorker) |
Roept een gemachtigde aan tijdens het imiteren van de client. |
| Seek(Int64, SeekOrigin) |
Hiermee stelt u de huidige positie van de huidige stroom in op de opgegeven waarde. (Overgenomen van PipeStream) |
| SetAccessControl(PipeSecurity) |
Hiermee past u de ACL-vermeldingen (Access Control List) toe die zijn opgegeven door een PipeSecurity object op de pijp die is opgegeven door het huidige PipeStream object. (Overgenomen van PipeStream) |
| SetLength(Int64) |
Hiermee stelt u de lengte van de huidige stroom in op de opgegeven waarde. (Overgenomen van PipeStream) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| WaitForConnection() |
Wacht tot een client verbinding maakt met dit NamedPipeServerStream object. |
| WaitForConnectionAsync() |
Wacht asynchroon totdat een client verbinding maakt met dit NamedPipeServerStream object. |
| WaitForConnectionAsync(CancellationToken) |
Wacht asynchroon totdat een client verbinding maakt met dit NamedPipeServerStream object en controleert annuleringsaanvragen. |
| WaitForPipeDrain() |
Wacht tot het andere einde van de pijp alle verzonden bytes heeft gelezen. (Overgenomen van PipeStream) |
| Write(Byte[], Int32, Int32) |
Hiermee schrijft u een blok bytes naar de huidige stroom met behulp van gegevens uit een buffer. (Overgenomen van PipeStream) |
| Write(ReadOnlySpan<Byte>) |
Hiermee schrijft u een reeks bytes naar de huidige stroom en wordt de huidige positie binnen deze stroom verplaatst door het aantal geschreven bytes. (Overgenomen van PipeStream) |
| WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Asynchroon schrijft een opgegeven aantal bytes van een bytematrix vanaf een opgegeven positie, wordt de huidige positie binnen deze stroom vooruitgegaan door het aantal geschreven bytes en worden annuleringsaanvragen gecontroleerd. (Overgenomen van PipeStream) |
| WriteAsync(Byte[], Int32, Int32) |
Asynchroon schrijft een reeks bytes naar de huidige stroom en wordt de huidige positie binnen deze stroom verplaatst door het aantal geschreven bytes. (Overgenomen van Stream) |
| WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Asynchroon schrijft een reeks bytes naar de huidige stroom, verplaatst de huidige positie binnen deze stream door het aantal geschreven bytes en bewaakt annuleringsaanvragen. (Overgenomen van PipeStream) |
| WriteByte(Byte) |
Hiermee schrijft u een byte naar de huidige stream. (Overgenomen van PipeStream) |
Extensiemethoden
| Name | Description |
|---|---|
| ConfigureAwait(IAsyncDisposable, Boolean) |
Hiermee configureert u hoe wacht op de taken die worden geretourneerd op basis van een asynchroon wegwerp, worden uitgevoerd. |
| CopyToAsync(Stream, PipeWriter, CancellationToken) |
Asynchroon leest de bytes van de Stream en schrijft ze naar het opgegeven PipeWriter, met behulp van een annuleringstoken. |
| GetAccessControl(PipeStream) |
Retourneert de beveiligingsgegevens van een pijpstroom. |
| SetAccessControl(PipeStream, PipeSecurity) |
Hiermee wijzigt u de beveiligingskenmerken van een bestaande pijpstroom. |