NamedPipeServerStream Klasa

Definicja

Uwidacznia Stream wokół nazwanego potoku, obsługujące zarówno synchroniczne, jak i asynchroniczne operacje odczytu i zapisu.

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
Dziedziczenie
NamedPipeServerStream
Dziedziczenie
NamedPipeServerStream

Przykłady

W poniższym przykładzie pokazano sposób wysyłania ciągu z procesu nadrzędnego do procesu podrzędnego na tym samym komputerze przy użyciu nazwanych potoków. W tym przykładzie tworzony NamedPipeServerStream jest obiekt w procesie nadrzędnym z wartością PipeDirectionOut. Następnie serwer czeka na NamedPipeClientStream połączenie obiektu w procesie podrzędnym. W tym przykładzie oba procesy znajdują się na tym samym komputerze, a NamedPipeClientStream obiekt ma PipeDirection wartość In. Następnie proces nadrzędny wysyła ciąg dostarczony przez użytkownika do procesu podrzędnego. Ciąg jest wyświetlany w konsoli programu .

Ten przykład dotyczy procesu serwera, który używa NamedPipeServerStream klasy . Dla całego przykładu kodu, w tym kodu dla klienta potoku i serwera, zobacz Instrukcje: używanie nazwanych potoków dla komunikacji międzyprocesowej sieci.

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

Uwagi

Nazwane potoki zapewniają potoki jednokierunkowe lub dwukierunkowe do komunikacji między serwerem potoku a co najmniej jednym klientem potoku. Nazwane potoki mogą być używane do komunikacji międzyprocesowej lokalnie lub za pośrednictwem sieci. Pojedyncza nazwa potoku może być współużytkowana przez wiele NamedPipeClientStream obiektów.

Każdy proces może działać jako nazwany serwer potoku lub klient albo oba te procesy.

Konstruktory

NamedPipeServerStream(PipeDirection, Boolean, Boolean, SafePipeHandle)

Inicjuje NamedPipeServerStream nowe wystąpienie klasy z określonego uchwytu potoku.

NamedPipeServerStream(String)

Inicjuje NamedPipeServerStream nowe wystąpienie klasy o określonej nazwie potoku.

NamedPipeServerStream(String, PipeDirection)

Inicjuje NamedPipeServerStream nowe wystąpienie klasy o określonej nazwie potoku i kierunku potoku.

NamedPipeServerStream(String, PipeDirection, Int32)

Inicjuje nowe wystąpienie NamedPipeServerStream klasy o określonej nazwie potoku, kierunku potoku i maksymalnej liczbie wystąpień serwera.

NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode)

Inicjuje NamedPipeServerStream nowe wystąpienie klasy o określonej nazwie potoku, kierunku potoku, maksymalnej liczbie wystąpień serwera i trybie transmisji.

NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions)

Inicjuje nowe wystąpienie NamedPipeServerStream klasy o określonej nazwie potoku, kierunku potoku, maksymalnej liczbie wystąpień serwera, trybie transmisji i opcjach potoku.

NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32)

Inicjuje nowe wystąpienie NamedPipeServerStream klasy o określonej nazwie potoku, kierunku potoku, maksymalnej liczbie wystąpień serwera, trybie transmisji, opcjach potoku i zalecanych rozmiarach buforu i poza tym.

NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity)

Inicjuje nowe wystąpienie NamedPipeServerStream klasy z określoną nazwą potoku, kierunkiem potoku, maksymalną liczbą wystąpień serwera, trybem transmisji, opcjami potoku, zalecanymi rozmiarami buforów oraz zabezpieczeniami potoku.

NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity, HandleInheritability)

Inicjuje nowe wystąpienie NamedPipeServerStream klasy z określoną nazwą potoku, kierunkiem potoku, maksymalną liczbą wystąpień serwera, trybem transmisji, opcjami potoku, zalecanymi rozmiarami buforów, zabezpieczeniami potoku i trybem dziedziczenia.

NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity, HandleInheritability, PipeAccessRights)

Inicjuje nowe wystąpienie NamedPipeServerStream klasy o określonej nazwie potoku, kierunku potoku, maksymalnej liczbie wystąpień serwera, trybie transmisji, opcjach potoku, zalecanych rozmiarach buforów, zabezpieczenia potoku, tryb dziedziczenia i prawa dostępu potoku.

Pola

MaxAllowedServerInstances

Reprezentuje maksymalną liczbę wystąpień serwera dozwolonych przez zasoby systemowe.

Właściwości

CanRead

Pobiera wartość wskazującą, czy bieżący strumień obsługuje operacje odczytu.

(Odziedziczone po PipeStream)
CanSeek

Pobiera wartość wskazującą, czy bieżący strumień obsługuje operacje wyszukiwania.

(Odziedziczone po PipeStream)
CanTimeout

Pobiera wartość określającą, czy bieżący strumień może upłynął limit czasu.

(Odziedziczone po Stream)
CanWrite

Pobiera wartość wskazującą, czy bieżący strumień obsługuje operacje zapisu.

(Odziedziczone po PipeStream)
InBufferSize

Pobiera rozmiar w bajtach buforu przychodzącego dla potoku.

(Odziedziczone po PipeStream)
IsAsync

Pobiera wartość wskazującą PipeStream , czy obiekt został otwarty asynchronicznie lub synchronicznie.

(Odziedziczone po PipeStream)
IsConnected

Pobiera lub ustawia wartość wskazującą PipeStream , czy obiekt jest połączony.

(Odziedziczone po PipeStream)
IsHandleExposed

Pobiera wartość wskazującą, czy uchwyt do PipeStream obiektu jest uwidoczniony.

(Odziedziczone po PipeStream)
IsMessageComplete

Pobiera wartość wskazującą, czy istnieje więcej danych w komunikacie zwróconym z najnowszej operacji odczytu.

(Odziedziczone po PipeStream)
Length

Pobiera długość strumienia w bajtach.

(Odziedziczone po PipeStream)
OutBufferSize

Pobiera rozmiar w bajtach buforu wychodzącego dla potoku.

(Odziedziczone po PipeStream)
Position

Pobiera lub ustawia bieżącą pozycję bieżącego strumienia.

(Odziedziczone po PipeStream)
ReadMode

Pobiera lub ustawia tryb odczytu dla PipeStream obiektu.

(Odziedziczone po PipeStream)
ReadTimeout

Pobiera lub ustawia wartość w milisekundach, która określa, jak długo strumień będzie próbował odczytać przed upływem limitu czasu.

(Odziedziczone po Stream)
SafePipeHandle

Pobiera bezpieczny uchwyt dla lokalnego końca potoku, który jest hermetyzowany przez bieżący PipeStream obiekt.

(Odziedziczone po PipeStream)
TransmissionMode

Pobiera tryb transmisji potoku obsługiwany przez bieżącą rurę.

(Odziedziczone po PipeStream)
WriteTimeout

Pobiera lub ustawia wartość w milisekundach, która określa, jak długo strumień podejmie próbę zapisania przed upływem limitu czasu.

(Odziedziczone po Stream)

Metody

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Rozpoczyna operację odczytu asynchronicznego.

(Odziedziczone po PipeStream)
BeginWaitForConnection(AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby poczekać na połączenie klienta.

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Rozpoczyna operację zapisu asynchronicznego.

(Odziedziczone po PipeStream)
CheckPipePropertyOperations()

Sprawdza, czy potok jest w odpowiednim stanie pobierania lub ustawiania właściwości.

(Odziedziczone po PipeStream)
CheckReadOperations()

Sprawdza, czy potok jest w stanie połączonym dla operacji odczytu.

(Odziedziczone po PipeStream)
CheckWriteOperations()

Sprawdza, czy potok jest w stanie połączonym dla operacji zapisu.

(Odziedziczone po PipeStream)
Close()

Zamyka bieżący strumień i zwalnia wszystkie zasoby (takie jak gniazda i uchwyty plików) skojarzone z bieżącym strumieniem. Zamiast wywoływać tę metodę, upewnij się, że strumień jest prawidłowo usuwany.

(Odziedziczone po Stream)
CopyTo(Stream)

Odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu. Obie pozycje strumieni są zaawansowane przez liczbę skopiowanych bajtów.

(Odziedziczone po Stream)
CopyTo(Stream, Int32)

Odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu przy użyciu określonego rozmiaru buforu. Obie pozycje strumieni są zaawansowane przez liczbę skopiowanych bajtów.

(Odziedziczone po Stream)
CopyToAsync(Stream)

Asynchronicznie odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu. Obie pozycje strumieni są zaawansowane przez liczbę skopiowanych bajtów.

(Odziedziczone po Stream)
CopyToAsync(Stream, CancellationToken)

Asynchronicznie odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu przy użyciu określonego tokenu anulowania. Obie pozycje strumieni są zaawansowane przez liczbę skopiowanych bajtów.

(Odziedziczone po Stream)
CopyToAsync(Stream, Int32)

Asynchronicznie odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu przy użyciu określonego rozmiaru buforu. Obie pozycje strumieni są zaawansowane przez liczbę skopiowanych bajtów.

(Odziedziczone po Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Asynchronicznie odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu przy użyciu określonego rozmiaru buforu i tokenu anulowania. Obie pozycje strumieni są zaawansowane przez liczbę skopiowanych bajtów.

(Odziedziczone po Stream)
CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
CreateWaitHandle()
Przestarzałe.
Przestarzałe.
Przestarzałe.

WaitHandle Przydziela obiekt.

(Odziedziczone po Stream)
Disconnect()

Rozłącza bieżące połączenie.

Dispose()

Zwalnia wszelkie zasoby używane przez element Stream.

(Odziedziczone po Stream)
Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez klasę PipeStream i opcjonalnie zwalnia zarządzane zasoby.

(Odziedziczone po PipeStream)
DisposeAsync()

Asynchronicznie zwalnia niezarządzane zasoby używane przez Streamprogram .

(Odziedziczone po Stream)
EndRead(IAsyncResult)

Kończy oczekujące żądanie odczytu asynchronicznego.

(Odziedziczone po PipeStream)
EndWaitForConnection(IAsyncResult)

Kończy operację asynchroniczną, aby poczekać na połączenie klienta.

EndWrite(IAsyncResult)

Kończy oczekujące asynchroniczne żądanie zapisu.

(Odziedziczone po PipeStream)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()

Zwalnia niezarządzane zasoby i wykonuje inne operacje oczyszczania przed odzyskaniem NamedPipeServerStream wystąpienia przez odzyskiwanie pamięci.

Flush()

Czyści bufor dla bieżącego strumienia i powoduje zapisanie wszystkich buforowanych danych na urządzeniu bazowym.

(Odziedziczone po PipeStream)
FlushAsync()

Asynchronicznie czyści wszystkie bufory dla tego strumienia i powoduje zapisanie wszystkich buforowanych danych na urządzeniu bazowym.

(Odziedziczone po Stream)
FlushAsync(CancellationToken)

Asynchronicznie czyści bufor dla bieżącego strumienia i powoduje zapisanie wszystkich buforowanych danych na urządzeniu bazowym.

(Odziedziczone po PipeStream)
GetAccessControl()

PipeSecurity Pobiera obiekt, który hermetyzuje wpisy listy kontroli dostępu (ACL) dla potoku opisanego przez bieżący PipeStream obiekt.

(Odziedziczone po PipeStream)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetImpersonationUserName()

Pobiera nazwę użytkownika klienta na drugim końcu potoku.

GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
InitializeHandle(SafePipeHandle, Boolean, Boolean)

Inicjuje PipeStream obiekt z określonego SafePipeHandle obiektu.

(Odziedziczone po PipeStream)
InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia, aby kontrolować zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
ObjectInvariant()
Przestarzałe.

Zapewnia obsługę programu Contract.

(Odziedziczone po Stream)
Read(Byte[], Int32, Int32)

Odczytuje blok bajtów ze strumienia i zapisuje dane w określonym buforze rozpoczynającym się od określonej pozycji dla określonej długości.

(Odziedziczone po PipeStream)
Read(Span<Byte>)

Odczytuje sekwencję bajtów z bieżącego strumienia, zapisuje je w tablicy bajtów i rozwija pozycję w strumieniu według liczby odczytanych bajtów.

(Odziedziczone po PipeStream)
ReadAsync(Byte[], Int32, Int32)

Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia i rozwija pozycję w strumieniu według liczby odczytanych bajtów.

(Odziedziczone po Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia do tablicy bajtów rozpoczynającej się od określonej liczby bajtów, przechodzi pozycję w strumieniu według liczby odczytanych bajtów i monitoruje żądania anulowania.

(Odziedziczone po PipeStream)
ReadAsync(Memory<Byte>, CancellationToken)

Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia, zapisuje je w zakresie pamięci bajtów, rozwija pozycję w strumieniu według liczby odczytanych bajtów i monitoruje żądania anulowania.

(Odziedziczone po PipeStream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

Odczytuje co najmniej minimalną liczbę bajtów z bieżącego strumienia i rozwija pozycję w strumieniu według liczby odczytanych bajtów.

(Odziedziczone po Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

Asynchronicznie odczytuje co najmniej minimalną liczbę bajtów z bieżącego strumienia, zwiększa pozycję w strumieniu według liczby odczytanych bajtów i monitoruje żądania anulowania.

(Odziedziczone po Stream)
ReadByte()

Odczytuje bajt z potoku.

(Odziedziczone po PipeStream)
ReadExactly(Byte[], Int32, Int32)

Odczytuje count liczbę bajtów z bieżącego strumienia i rozwija pozycję w strumieniu.

(Odziedziczone po Stream)
ReadExactly(Span<Byte>)

Odczytuje bajty z bieżącego strumienia i rozwija pozycję w strumieniu do momentu buffer wypełnienia.

(Odziedziczone po Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Asynchronicznie odczytuje count liczbę bajtów z bieżącego strumienia, zwiększa pozycję w strumieniu i monitoruje żądania anulowania.

(Odziedziczone po Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Asynchronicznie odczytuje bajty z bieżącego strumienia, przesuwa pozycję w strumieniu do buffer momentu wypełnienia i monitoruje żądania anulowania.

(Odziedziczone po Stream)
RunAsClient(PipeStreamImpersonationWorker)

Wywołuje delegata podczas personifikacji klienta.

Seek(Int64, SeekOrigin)

Ustawia bieżącą pozycję bieżącego strumienia na określoną wartość.

(Odziedziczone po PipeStream)
SetAccessControl(PipeSecurity)

Stosuje wpisy listy kontroli dostępu (ACL) określone przez PipeSecurity obiekt do potoku określonego przez bieżący PipeStream obiekt.

(Odziedziczone po PipeStream)
SetLength(Int64)

Ustawia długość bieżącego strumienia na określoną wartość.

(Odziedziczone po PipeStream)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
WaitForConnection()

Czeka na nawiązanie połączenia z tym NamedPipeServerStream obiektem przez klienta.

WaitForConnectionAsync()

Asynchronicznie czeka na nawiązanie połączenia z tym NamedPipeServerStream obiektem przez klienta.

WaitForConnectionAsync(CancellationToken)

Asynchronicznie czeka na połączenie klienta z tym NamedPipeServerStream obiektem i monitoruje żądania anulowania.

WaitForPipeDrain()

Czeka na drugi koniec potoku, aby odczytać wszystkie wysłane bajty.

(Odziedziczone po PipeStream)
Write(Byte[], Int32, Int32)

Zapisuje blok bajtów do bieżącego strumienia przy użyciu danych z buforu.

(Odziedziczone po PipeStream)
Write(ReadOnlySpan<Byte>)

Zapisuje sekwencję bajtów do bieżącego strumienia i rozwija bieżącą pozycję w tym strumieniu według liczby zapisanych bajtów.

(Odziedziczone po PipeStream)
WriteAsync(Byte[], Int32, Int32)

Asynchronicznie zapisuje sekwencję bajtów do bieżącego strumienia i rozwija bieżącą pozycję w tym strumieniu przez liczbę zapisanych bajtów.

(Odziedziczone po Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Asynchronicznie zapisuje określoną liczbę bajtów z tablicy bajtów rozpoczynającej się od określonej pozycji, zwiększa bieżącą pozycję w tym strumieniu o liczbę zapisanych bajtów i monitoruje żądania anulowania.

(Odziedziczone po PipeStream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Asynchronicznie zapisuje sekwencję bajtów do bieżącego strumienia, przechodzi bieżącą pozycję w tym strumieniu przez liczbę zapisanych bajtów i monitoruje żądania anulowania.

(Odziedziczone po PipeStream)
WriteByte(Byte)

Zapisuje bajt do bieżącego strumienia.

(Odziedziczone po PipeStream)

Metody rozszerzania

CopyToAsync(Stream, PipeWriter, CancellationToken)

Asynchronicznie odczytuje bajty z obiektu Stream i zapisuje je w określonym PipeWriterobiekcie przy użyciu tokenu anulowania.

GetAccessControl(PipeStream)

Zwraca informacje o zabezpieczeniach strumienia potoku.

SetAccessControl(PipeStream, PipeSecurity)

Zmienia atrybuty zabezpieczeń istniejącego strumienia potoku.

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguruje sposób oczekiwania na zadania zwracane z asynchronicznego jednorazowego wykonania.

Dotyczy