NamedPipeClientStream Kelas

Definisi

Stream Mengekspos sekitar pipa bernama, yang mendukung operasi baca dan tulis yang sinkron dan asinkron.

public ref class NamedPipeClientStream sealed : System::IO::Pipes::PipeStream
public sealed class NamedPipeClientStream : System.IO.Pipes.PipeStream
type NamedPipeClientStream = class
    inherit PipeStream
Public NotInheritable Class NamedPipeClientStream
Inherits PipeStream
Warisan
NamedPipeClientStream
Warisan
NamedPipeClientStream

Contoh

Contoh berikut menunjukkan cara untuk mengirim string dari proses induk ke proses anak di komputer yang sama menggunakan pipa bernama. Contoh ini membuat NamedPipeServerStream objek dalam proses induk. Objek NamedPipeServerStream memiliki PipeDirection nilai Out. Server kemudian menunggu NamedPipeClientStream objek dalam proses anak untuk menyambungkannya. Dalam contoh ini, kedua proses berada di komputer yang sama dan NamedPipeClientStream objek memiliki PipeDirection nilai In. Proses induk kemudian mengirimkan string yang disediakan pengguna ke proses turunan. String ditampilkan ke konsol.

Contoh ini untuk proses klien, yang terhubung ke proses server. Untuk seluruh sampel kode, termasuk kode untuk klien pipa dan server, lihat Cara: Menggunakan Named Pipes for Network Interprocess Communication.

using System;
using System.IO;
using System.IO.Pipes;

class PipeClient
{
    static void Main(string[] args)
    {
        using (NamedPipeClientStream pipeClient =
            new NamedPipeClientStream(".", "testpipe", PipeDirection.In))
        {

            // Connect to the pipe or wait until the pipe is available.
            Console.Write("Attempting to connect to pipe...");
            pipeClient.Connect();

            Console.WriteLine("Connected to pipe.");
            Console.WriteLine("There are currently {0} pipe server instances open.",
               pipeClient.NumberOfServerInstances);
            using (StreamReader sr = new StreamReader(pipeClient))
            {
                // Display the read text to the console
                string temp;
                while ((temp = sr.ReadLine()) != null)
                {
                    Console.WriteLine("Received from server: {0}", temp);
                }
            }
        }
        Console.Write("Press Enter to continue...");
        Console.ReadLine();
    }
}
Imports System.IO
Imports System.IO.Pipes
Imports System.Security.Principal

Class PipeClient

    Shared Sub Main(ByVal args As String())

        Dim pipeClient As New NamedPipeClientStream("localhost", _
                    "testpipe", PipeDirection.In, PipeOptions.None)

        ' Connect to the pipe or wait until the pipe is available.
        Console.WriteLine("Attempting to connect to the pipe...")
        pipeClient.Connect()

        Console.WriteLine("Connect to the pipe.")
        Console.WriteLine("There are currently {0} pipe server instances open.", _
                          pipeClient.NumberOfServerInstances)

        Dim sr As New StreamReader(pipeClient)
        Dim temp As String

        temp = sr.ReadLine()
        While Not temp Is Nothing
            Console.WriteLine("Received from server: {0}", temp)
            temp = sr.ReadLine()
        End While
        Console.Write("Press Enter to continue...")
        Console.ReadLine()
    End Sub
End Class

Keterangan

Pipa bernama menyediakan pipa satu arah atau dupleks untuk komunikasi antara server pipa dan satu atau beberapa klien pipa. Pipa bernama dapat digunakan untuk komunikasi antarproscess secara lokal atau melalui jaringan. Satu nama pipa dapat dibagikan oleh beberapa NamedPipeClientStream objek.

Proses apa pun dapat bertindak sebagai server pipa atau klien bernama, atau keduanya.

Konstruktor

NamedPipeClientStream(PipeDirection, Boolean, Boolean, SafePipeHandle)

Menginisialisasi instans NamedPipeClientStream baru kelas untuk handel pipa yang ditentukan dengan arah pipa yang ditentukan.

NamedPipeClientStream(String)

Menginisialisasi instans NamedPipeClientStream baru kelas dengan nama pipa yang ditentukan.

NamedPipeClientStream(String, String)

Menginisialisasi instans NamedPipeClientStream baru kelas dengan nama pipa dan server yang ditentukan.

NamedPipeClientStream(String, String, PipeAccessRights, PipeOptions, TokenImpersonationLevel, HandleInheritability)

Menginisialisasi instans NamedPipeClientStream baru kelas dengan nama pipa dan server yang ditentukan, dan opsi pipa yang ditentukan, tingkat peniruan keamanan, dan mode pewarisan.

NamedPipeClientStream(String, String, PipeDirection)

Menginisialisasi instans NamedPipeClientStream baru kelas dengan nama pipa dan server yang ditentukan, dan arah pipa yang ditentukan.

NamedPipeClientStream(String, String, PipeDirection, PipeOptions)

Menginisialisasi instans NamedPipeClientStream baru kelas dengan nama pipa dan server yang ditentukan, dan arah pipa dan opsi pipa yang ditentukan.

NamedPipeClientStream(String, String, PipeDirection, PipeOptions, TokenImpersonationLevel)

Menginisialisasi instans NamedPipeClientStream baru kelas dengan nama pipa dan server yang ditentukan, dan arah pipa, opsi pipa, dan tingkat peniruan keamanan yang ditentukan.

NamedPipeClientStream(String, String, PipeDirection, PipeOptions, TokenImpersonationLevel, HandleInheritability)

Menginisialisasi instans NamedPipeClientStream baru kelas dengan nama pipa dan server yang ditentukan, dan arah pipa yang ditentukan, opsi pipa, tingkat peniruan keamanan, dan mode pewarisan.

Properti

CanRead

Mendapatkan nilai yang menunjukkan apakah aliran saat ini mendukung operasi baca.

(Diperoleh dari PipeStream)
CanSeek

Mendapatkan nilai yang menunjukkan apakah aliran saat ini mendukung operasi pencarian.

(Diperoleh dari PipeStream)
CanTimeout

Mendapatkan nilai yang menentukan apakah aliran saat ini dapat kehabisan waktu.

(Diperoleh dari Stream)
CanWrite

Mendapatkan nilai yang menunjukkan apakah aliran saat ini mendukung operasi tulis.

(Diperoleh dari PipeStream)
InBufferSize

Mendapatkan ukuran, dalam byte, dari buffer masuk untuk pipa.

(Diperoleh dari PipeStream)
IsAsync

Mendapatkan nilai yang menunjukkan apakah PipeStream objek dibuka secara asinkron atau sinkron.

(Diperoleh dari PipeStream)
IsConnected

Mendapatkan atau menetapkan nilai yang menunjukkan apakah PipeStream objek tersambung.

(Diperoleh dari PipeStream)
IsHandleExposed

Mendapatkan nilai yang menunjukkan apakah handel ke PipeStream objek diekspos.

(Diperoleh dari PipeStream)
IsMessageComplete

Mendapatkan nilai yang menunjukkan apakah ada lebih banyak data dalam pesan yang dikembalikan dari operasi baca terbaru.

(Diperoleh dari PipeStream)
Length

Mendapatkan panjang aliran, dalam byte.

(Diperoleh dari PipeStream)
NumberOfServerInstances

Mendapatkan jumlah instans server yang memiliki nama pipa yang sama.

OutBufferSize

Mendapatkan ukuran, dalam byte, dari buffer keluar untuk pipa.

(Diperoleh dari PipeStream)
Position

Mendapatkan atau mengatur posisi aliran saat ini.

(Diperoleh dari PipeStream)
ReadMode

Mendapatkan atau mengatur mode baca untuk objek PipeStream .

(Diperoleh dari PipeStream)
ReadTimeout

Mendapatkan atau menetapkan nilai, dalam milidetik, yang menentukan berapa lama aliran akan mencoba membaca sebelum waktu habis.

(Diperoleh dari Stream)
SafePipeHandle

Mendapatkan handel aman untuk ujung lokal pipa yang dienkapsulasi objek saat ini PipeStream .

(Diperoleh dari PipeStream)
TransmissionMode

Mendapatkan mode transmisi pipa yang didukung oleh pipa saat ini.

(Diperoleh dari PipeStream)
WriteTimeout

Mendapatkan atau menetapkan nilai, dalam milidetik, yang menentukan berapa lama aliran akan mencoba menulis sebelum waktu habis.

(Diperoleh dari Stream)

Metode

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

Memulai operasi baca asinkron.

(Diperoleh dari PipeStream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Memulai operasi tulis asinkron.

(Diperoleh dari PipeStream)
CheckPipePropertyOperations()

Memverifikasi bahwa pipa dalam keadaan yang tepat untuk mendapatkan atau mengatur properti.

(Diperoleh dari PipeStream)
CheckReadOperations()

Memverifikasi bahwa pipa dalam keadaan tersambung untuk operasi baca.

(Diperoleh dari PipeStream)
CheckWriteOperations()

Memverifikasi bahwa pipa dalam keadaan terhubung untuk operasi tulis.

(Diperoleh dari PipeStream)
Close()

Menutup aliran saat ini dan merilis sumber daya apa pun (seperti soket dan handel file) yang terkait dengan aliran saat ini. Alih-alih memanggil metode ini, pastikan aliran dibuang dengan benar.

(Diperoleh dari Stream)
Connect()

Menyambungkan ke server tunggu dengan nilai batas waktu tak terbatas.

Connect(Int32)

Menyambungkan ke server tunggu dalam periode waktu habis yang ditentukan.

Connect(TimeSpan)

Menyambungkan ke server tunggu dalam periode waktu habis yang ditentukan.

ConnectAsync()

Secara asinkron terhubung ke server tunggu dengan periode batas waktu tak terbatas.

ConnectAsync(CancellationToken)

Secara asinkron terhubung ke server tunggu dan memantau permintaan pembatalan.

ConnectAsync(Int32)

Secara asinkron terhubung ke server tunggu dalam periode batas waktu yang ditentukan.

ConnectAsync(Int32, CancellationToken)

Secara asinkron terhubung ke server tunggu dalam periode batas waktu yang ditentukan dan memantau permintaan pembatalan.

ConnectAsync(TimeSpan, CancellationToken)

Secara asinkron terhubung ke server tunggu dalam periode batas waktu yang ditentukan dan memantau permintaan pembatalan.

CopyTo(Stream)

Membaca byte dari aliran saat ini dan menulisnya ke aliran lain. Kedua posisi aliran dilanjutkan dengan jumlah byte yang disalin.

(Diperoleh dari Stream)
CopyTo(Stream, Int32)

Membaca byte dari aliran saat ini dan menulisnya ke aliran lain, menggunakan ukuran buffer tertentu. Kedua posisi aliran dilanjutkan dengan jumlah byte yang disalin.

(Diperoleh dari Stream)
CopyToAsync(Stream)

Secara asinkron membaca byte dari aliran saat ini dan menulisnya ke aliran lain. Kedua posisi aliran dilanjutkan dengan jumlah byte yang disalin.

(Diperoleh dari Stream)
CopyToAsync(Stream, CancellationToken)

Secara asinkron membaca byte dari aliran saat ini dan menulisnya ke aliran lain, menggunakan token pembatalan tertentu. Kedua posisi aliran dilanjutkan dengan jumlah byte yang disalin.

(Diperoleh dari Stream)
CopyToAsync(Stream, Int32)

Secara asinkron membaca byte dari aliran saat ini dan menulisnya ke aliran lain, menggunakan ukuran buffer tertentu. Kedua posisi aliran dilanjutkan dengan jumlah byte yang disalin.

(Diperoleh dari Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Secara asinkron membaca byte dari aliran saat ini dan menulisnya ke aliran lain, menggunakan ukuran buffer dan token pembatalan tertentu. Kedua posisi aliran dilanjutkan dengan jumlah byte yang disalin.

(Diperoleh dari Stream)
CreateObjRef(Type)

Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh.

(Diperoleh dari MarshalByRefObject)
CreateWaitHandle()
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Mengalokasikan WaitHandle objek.

(Diperoleh dari Stream)
Dispose()

Merilis semua sumber daya yang Streamdigunakan oleh .

(Diperoleh dari Stream)
Dispose(Boolean)

Merilis sumber daya tidak terkelola yang digunakan oleh PipeStream kelas dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari PipeStream)
DisposeAsync()

Secara asinkron merilis sumber daya yang tidak dikelola yang digunakan oleh Stream.

(Diperoleh dari Stream)
EndRead(IAsyncResult)

Mengakhiri permintaan baca asinkron yang tertunda.

(Diperoleh dari PipeStream)
EndWrite(IAsyncResult)

Mengakhiri permintaan tulis asinkron yang tertunda.

(Diperoleh dari PipeStream)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Finalize()

Merilis sumber daya yang tidak dikelola dan melakukan operasi pembersihan lainnya sebelum NamedPipeClientStream instans diklaim kembali oleh pengumpulan sampah.

Flush()

Menghapus buffer untuk aliran saat ini dan menyebabkan data yang di-buffer ditulis ke perangkat yang mendasar.

(Diperoleh dari PipeStream)
FlushAsync()

Secara asinkron menghapus semua buffer untuk aliran ini dan menyebabkan data yang di-buffer ditulis ke perangkat yang mendasar.

(Diperoleh dari Stream)
FlushAsync(CancellationToken)

Secara asinkron menghapus buffer untuk aliran saat ini dan menyebabkan data yang di-buffer ditulis ke perangkat yang mendasar.

(Diperoleh dari PipeStream)
GetAccessControl()

PipeSecurity Mendapatkan objek yang merangkum entri daftar kontrol akses (ACL) untuk pipa yang dijelaskan oleh objek saat iniPipeStream.

(Diperoleh dari PipeStream)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetLifetimeService()
Kedaluwarsa.

Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
InitializeHandle(SafePipeHandle, Boolean, Boolean)

Menginisialisasi PipeStream objek dari objek yang ditentukan SafePipeHandle .

(Diperoleh dari PipeStream)
InitializeLifetimeService()
Kedaluwarsa.

Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek saat ini MarshalByRefObject .

(Diperoleh dari MarshalByRefObject)
ObjectInvariant()
Kedaluwarsa.

Menyediakan dukungan untuk Contract.

(Diperoleh dari Stream)
Read(Byte[], Int32, Int32)

Membaca blok byte dari aliran dan menulis data ke buffer tertentu yang dimulai pada posisi tertentu untuk panjang yang ditentukan.

(Diperoleh dari PipeStream)
Read(Span<Byte>)

Membaca urutan byte dari aliran saat ini, menulisnya ke array byte, dan memajukan posisi dalam aliran dengan jumlah byte yang dibaca.

(Diperoleh dari PipeStream)
ReadAsync(Byte[], Int32, Int32)

Secara asinkron membaca urutan byte dari aliran saat ini dan memajukan posisi dalam aliran dengan jumlah byte yang dibaca.

(Diperoleh dari Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Secara asinkron membaca urutan byte dari aliran saat ini ke array byte yang dimulai pada posisi tertentu untuk jumlah byte tertentu, memajukan posisi dalam aliran dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan.

(Diperoleh dari PipeStream)
ReadAsync(Memory<Byte>, CancellationToken)

Secara asinkron membaca urutan byte dari aliran saat ini, menulisnya ke rentang memori byte, memajukan posisi dalam aliran dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan.

(Diperoleh dari PipeStream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

Membaca setidaknya jumlah minimum byte dari aliran saat ini dan memajukan posisi dalam aliran dengan jumlah byte yang dibaca.

(Diperoleh dari Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

Secara asinkron membaca setidaknya jumlah minimum byte dari aliran saat ini, memajukan posisi dalam aliran dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan.

(Diperoleh dari Stream)
ReadByte()

Membaca byte dari pipa.

(Diperoleh dari PipeStream)
ReadExactly(Byte[], Int32, Int32)

count Membaca jumlah byte dari aliran saat ini dan memajukan posisi dalam aliran.

(Diperoleh dari Stream)
ReadExactly(Span<Byte>)

Membaca byte dari aliran saat ini dan memajukan posisi dalam aliran hingga buffer terisi.

(Diperoleh dari Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Secara asinkron membaca count jumlah byte dari aliran saat ini, memajukan posisi dalam aliran, dan memantau permintaan pembatalan.

(Diperoleh dari Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Secara asinkron membaca byte dari aliran saat ini, memajukan posisi dalam aliran hingga buffer terisi, dan memantau permintaan pembatalan.

(Diperoleh dari Stream)
Seek(Int64, SeekOrigin)

Mengatur posisi aliran saat ini ke nilai yang ditentukan.

(Diperoleh dari PipeStream)
SetAccessControl(PipeSecurity)

Menerapkan entri daftar kontrol akses (ACL) yang ditentukan oleh PipeSecurity objek ke pipa yang ditentukan oleh objek saat ini PipeStream .

(Diperoleh dari PipeStream)
SetLength(Int64)

Mengatur panjang aliran saat ini ke nilai yang ditentukan.

(Diperoleh dari PipeStream)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
WaitForPipeDrain()

Menunggu ujung pipa lainnya membaca semua byte yang dikirim.

(Diperoleh dari PipeStream)
Write(Byte[], Int32, Int32)

Menulis blok byte ke aliran saat ini menggunakan data dari buffer.

(Diperoleh dari PipeStream)
Write(ReadOnlySpan<Byte>)

Menulis urutan byte ke aliran saat ini dan memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis.

(Diperoleh dari PipeStream)
WriteAsync(Byte[], Int32, Int32)

Secara asinkron menulis urutan byte ke aliran saat ini dan memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis.

(Diperoleh dari Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Secara asinkron menulis jumlah byte tertentu dari array byte yang dimulai pada posisi tertentu, memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis, dan memantau permintaan pembatalan.

(Diperoleh dari PipeStream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Secara asinkron menulis urutan byte ke aliran saat ini, memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis, dan memantau permintaan pembatalan.

(Diperoleh dari PipeStream)
WriteByte(Byte)

Menulis byte ke aliran saat ini.

(Diperoleh dari PipeStream)

Metode Ekstensi

CopyToAsync(Stream, PipeWriter, CancellationToken)

Secara asinkron membaca byte dari Stream dan menulisnya ke yang ditentukan PipeWriter, menggunakan token pembatalan.

GetAccessControl(PipeStream)

Mengembalikan informasi keamanan aliran pipa.

SetAccessControl(PipeStream, PipeSecurity)

Mengubah atribut keamanan aliran pipa yang ada.

ConfigureAwait(IAsyncDisposable, Boolean)

Mengonfigurasi bagaimana menunggu tugas yang dikembalikan dari asinkron sekali pakai dilakukan.

Berlaku untuk