NamedPipeServerStream Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Adlandırılmış bir kanalın çevresinde hem zaman uyumlu hem de zaman uyumsuz okuma ve yazma işlemlerini destekleyen bir Stream kullanıma sunar.
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
- Devralma
- Devralma
Örnekler
Aşağıdaki örnek, adlandırılmış kanallar kullanarak bir üst işlemden aynı bilgisayardaki alt işleme bir dize göndermenin bir yolunu gösterir. Bu örnek, OutPipeDirection değerine sahip bir üst işlemde NamedPipeServerStream nesnesi oluşturur. Sunucu daha sonra alt işlemdeki bir NamedPipeClientStream nesnesinin ona bağlanmasını bekler. Bu örnekte, her iki işlem de aynı bilgisayardadır ve NamedPipeClientStream nesnesi InPipeDirection değerine sahiptir. Üst işlem daha sonra alt işleme kullanıcı tarafından sağlanan bir dize gönderir. Dize konsolda görüntülenir.
Bu örnek, NamedPipeServerStream sınıfını kullanan sunucu işlemi içindir. Hem kanal istemcisinin hem de sunucunun kodu dahil olmak üzere kod örneğinin tamamı için bkz. Nasıl yapılır: Ağ İşlemler Arası İletişim için Adlandırılmış Kanallar Kullanma.
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
Açıklamalar
Adlandırılmış kanallar, bir kanal sunucusu ile bir veya daha fazla kanal istemcisi arasındaki iletişim için tek yönlü veya çift yönlü kanallar sağlar. Adlandırılmış kanallar, yerel olarak veya ağ üzerinden işlemler arası iletişim için kullanılabilir. Tek bir kanal adı birden çok NamedPipeClientStream nesnesi tarafından paylaşılabilir.
Herhangi bir işlem adlandırılmış kanal sunucusu veya istemci ya da her ikisi gibi davranabilir.
Oluşturucular
NamedPipeServerStream(PipeDirection, Boolean, Boolean, SafePipeHandle) |
Belirtilen kanal tutamacından NamedPipeServerStream sınıfının yeni bir örneğini başlatır. |
NamedPipeServerStream(String) |
Belirtilen kanal adıyla NamedPipeServerStream sınıfının yeni bir örneğini başlatır. |
NamedPipeServerStream(String, PipeDirection) |
Belirtilen kanal adı ve kanal yönüyle NamedPipeServerStream sınıfının yeni bir örneğini başlatır. |
NamedPipeServerStream(String, PipeDirection, Int32) |
Belirtilen kanal adı, kanal yönü ve en fazla sunucu örneği sayısıyla NamedPipeServerStream sınıfının yeni bir örneğini başlatır. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode) |
Belirtilen kanal adı, kanal yönü, en fazla sunucu örneği sayısı ve iletim modu ile NamedPipeServerStream sınıfının yeni bir örneğini başlatır. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions) |
belirtilen kanal adı, kanal yönü, en fazla sunucu örneği sayısı, iletim modu ve kanal seçenekleri ile NamedPipeServerStream sınıfının yeni bir örneğini başlatır. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32) |
NamedPipeServerStream sınıfının yeni bir örneğini belirtilen kanal adı, kanal yönü, en fazla sunucu örneği sayısı, iletim modu, kanal seçenekleri ile başlatır ve arabellek boyutlarının içeri ve dışarı aktarılması önerilir. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity) |
NamedPipeServerStream sınıfının yeni bir örneğini belirtilen kanal adı, kanal yönü, en fazla sunucu örneği sayısı, iletim modu, boru seçenekleri, önerilen giriş ve çıkış arabellek boyutları ve kanal güvenliği ile başlatır. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity, HandleInheritability) |
NamedPipeServerStream sınıfının yeni bir örneğini belirtilen kanal adı, kanal yönü, en fazla sunucu örneği sayısı, iletim modu, boru seçenekleri, önerilen giriş ve çıkış arabellek boyutları, kanal güvenliği ve devralınabilirlik modu ile başlatır. |
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity, HandleInheritability, PipeAccessRights) |
NamedPipeServerStream sınıfının yeni bir örneğini belirtilen kanal adı, kanal yönü, en fazla sunucu örneği sayısı, iletim modu, boru seçenekleri, önerilen ve giden arabellek boyutları, kanal güvenliği, devralınabilirlik modu ve kanal erişim haklarıyla başlatır. |
Alanlar
MaxAllowedServerInstances |
Sistem kaynaklarının izin verilen en fazla sunucu örneği sayısını temsil eder. |
Özellikler
CanRead |
Geçerli akışın okuma işlemlerini destekleyip desteklemediğini belirten bir değer alır. (Devralındığı yer: PipeStream) |
CanSeek |
Geçerli akışın arama işlemlerini destekleyip desteklemediğini belirten bir değer alır. (Devralındığı yer: PipeStream) |
CanTimeout |
Geçerli akışın zaman aşımına neden olup olmadığını belirleyen bir değer alır. (Devralındığı yer: Stream) |
CanWrite |
Geçerli akışın yazma işlemlerini destekleyip desteklemediğini belirten bir değer alır. (Devralındığı yer: PipeStream) |
InBufferSize |
Bir kanal için gelen arabelleğin bayt cinsinden boyutunu alır. (Devralındığı yer: PipeStream) |
IsAsync |
bir PipeStream nesnesinin zaman uyumsuz olarak mı yoksa zaman uyumlu olarak mı açıldığını gösteren bir değer alır. (Devralındığı yer: PipeStream) |
IsConnected |
bir PipeStream nesnesinin bağlı olup olmadığını belirten bir değer alır veya ayarlar. (Devralındığı yer: PipeStream) |
IsHandleExposed |
bir PipeStream nesnesi tanıtıcının kullanıma sunulduğunu belirten bir değer alır. (Devralındığı yer: PipeStream) |
IsMessageComplete |
İletide en son okuma işleminden döndürülen daha fazla veri olup olmadığını belirten bir değer alır. (Devralındığı yer: PipeStream) |
Length |
Bayt cinsinden bir akışın uzunluğunu alır. (Devralındığı yer: PipeStream) |
OutBufferSize |
Bir kanal için giden arabelleğin bayt cinsinden boyutunu alır. (Devralındığı yer: PipeStream) |
Position |
Geçerli akışın geçerli konumunu alır veya ayarlar. (Devralındığı yer: PipeStream) |
ReadMode |
PipeStream nesnesinin okuma modunu alır veya ayarlar. (Devralındığı yer: PipeStream) |
ReadTimeout |
Akışın zaman aşımına uğramadan önce ne kadar süreyle okumayı deneyeceğini belirleyen bir değeri milisaniye cinsinden alır veya ayarlar. (Devralındığı yer: Stream) |
SafePipeHandle |
Geçerli PipeStream nesnesinin kapsüllediğini borunun yerel ucu için güvenli tutamacı alır. (Devralındığı yer: PipeStream) |
TransmissionMode |
Geçerli boru tarafından desteklenen boru iletim modunu alır. (Devralındığı yer: PipeStream) |
WriteTimeout |
Akışın zaman aşımına uğramadan önce ne kadar süreyle yazmaya çalışacağını belirleyen bir değeri milisaniye cinsinden alır veya ayarlar. (Devralındığı yer: Stream) |
Yöntemler
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Zaman uyumsuz bir okuma işlemi başlatır. (Devralındığı yer: PipeStream) |
BeginWaitForConnection(AsyncCallback, Object) |
İstemcinin bağlanmasını beklemek için zaman uyumsuz bir işlem başlatır. |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Zaman uyumsuz bir yazma işlemi başlatır. (Devralındığı yer: PipeStream) |
CheckPipePropertyOperations() |
Borunun özellikleri almak veya ayarlamak için uygun durumda olduğunu doğrular. (Devralındığı yer: PipeStream) |
CheckReadOperations() |
Borunun okuma işlemleri için bağlı durumda olduğunu doğrular. (Devralındığı yer: PipeStream) |
CheckWriteOperations() |
Kanal yazma işlemleri için bağlı durumda olduğunu doğrular. (Devralındığı yer: PipeStream) |
Close() |
Geçerli akışı kapatır ve geçerli akışla ilişkili tüm kaynakları (yuvalar ve dosya tanıtıcıları gibi) serbest bırakır. Bu yöntemi çağırmak yerine akışın düzgün şekilde atıldığından emin olun. (Devralındığı yer: Stream) |
CopyTo(Stream) |
Geçerli akıştan baytları okur ve başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir. (Devralındığı yer: Stream) |
CopyTo(Stream, Int32) |
Geçerli akıştan baytları okur ve belirtilen arabellek boyutunu kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir. (Devralındığı yer: Stream) |
CopyToAsync(Stream) |
Geçerli akıştan gelen baytları zaman uyumsuz olarak okur ve başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir. (Devralındığı yer: Stream) |
CopyToAsync(Stream, CancellationToken) |
Geçerli akıştan gelen baytları zaman uyumsuz olarak okur ve belirtilen iptal belirtecini kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir. (Devralındığı yer: Stream) |
CopyToAsync(Stream, Int32) |
Geçerli akıştan gelen baytları zaman uyumsuz olarak okur ve belirtilen arabellek boyutunu kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir. (Devralındığı yer: Stream) |
CopyToAsync(Stream, Int32, CancellationToken) |
Belirtilen arabellek boyutu ve iptal belirtecini kullanarak geçerli akıştan baytları zaman uyumsuz olarak okur ve başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir. (Devralındığı yer: Stream) |
CreateObjRef(Type) |
Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur. (Devralındığı yer: MarshalByRefObject) |
CreateWaitHandle() |
Geçersiz.
Geçersiz.
Geçersiz.
bir WaitHandle nesnesi ayırır. (Devralındığı yer: Stream) |
Disconnect() |
Geçerli bağlantının bağlantısını keser. |
Dispose() |
Streamtarafından kullanılan tüm kaynakları serbest bırakır. (Devralındığı yer: Stream) |
Dispose(Boolean) |
PipeStream sınıfı tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır. (Devralındığı yer: PipeStream) |
DisposeAsync() |
Streamtarafından kullanılan yönetilmeyen kaynakları zaman uyumsuz olarak serbest bırakır. (Devralındığı yer: Stream) |
EndRead(IAsyncResult) |
Bekleyen zaman uyumsuz okuma isteğini sonlandırır. (Devralındığı yer: PipeStream) |
EndWaitForConnection(IAsyncResult) |
İstemcinin bağlanmasını beklemek için zaman uyumsuz bir işlemi sonlandırır. |
EndWrite(IAsyncResult) |
Bekleyen zaman uyumsuz yazma isteğini sonlandırır. (Devralındığı yer: PipeStream) |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
Finalize() |
Yönetilmeyen kaynakları serbest bırakır ve NamedPipeServerStream örneği çöp toplama tarafından geri kazanılmadan önce diğer temizleme işlemlerini gerçekleştirir. |
Flush() |
Geçerli akış için arabelleği temizler ve arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur. (Devralındığı yer: PipeStream) |
FlushAsync() |
Bu akış için tüm arabellekleri zaman uyumsuz olarak temizler ve arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur. (Devralındığı yer: Stream) |
FlushAsync(CancellationToken) |
Geçerli akış için arabelleği zaman uyumsuz olarak temizler ve arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur. (Devralındığı yer: PipeStream) |
GetAccessControl() |
Geçerli PipeStream nesnesi tarafından açıklanan kanal için erişim denetimi listesi (ACL) girdilerini kapsülleyen bir PipeSecurity nesnesi alır. (Devralındığı yer: PipeStream) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetImpersonationUserName() |
Kanalın diğer ucundaki istemcinin kullanıcı adını alır. |
GetLifetimeService() |
Geçersiz.
Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır. (Devralındığı yer: MarshalByRefObject) |
GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
InitializeHandle(SafePipeHandle, Boolean, Boolean) |
Belirtilen SafePipeHandle nesnesinden bir PipeStream nesnesi başlatır. (Devralındığı yer: PipeStream) |
InitializeLifetimeService() |
Geçersiz.
Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır. (Devralındığı yer: MarshalByRefObject) |
MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
MemberwiseClone(Boolean) |
Geçerli MarshalByRefObject nesnesinin sığ bir kopyasını oluşturur. (Devralındığı yer: MarshalByRefObject) |
ObjectInvariant() |
Geçersiz.
Contractiçin destek sağlar. (Devralındığı yer: Stream) |
Read(Byte[], Int32, Int32) |
Bir akıştan bayt bloğunu okur ve verileri belirtilen bir uzunlukta belirtilen konumdan başlayarak belirtilen arabelleğe yazar. (Devralındığı yer: PipeStream) |
Read(Span<Byte>) |
Geçerli akıştan bir bayt dizisi okur, bunları bir bayt dizisine yazar ve okunan bayt sayısına göre akış içindeki konumu ilerletir. (Devralındığı yer: PipeStream) |
ReadAsync(Byte[], Int32, Int32) |
Geçerli akıştan zaman uyumsuz olarak bir bayt dizisi okur ve okunan bayt sayısına göre akış içindeki konumu ilerletir. (Devralındığı yer: Stream) |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Belirtilen sayıda bayt için belirtilen konumdan başlayarak geçerli akıştan bayt dizisine zaman uyumsuz olarak bir bayt dizisi okur, okunan bayt sayısına göre akıştaki konumu ilerletir ve iptal isteklerini izler. (Devralındığı yer: PipeStream) |
ReadAsync(Memory<Byte>, CancellationToken) |
Geçerli akıştan zaman uyumsuz olarak bir bayt dizisi okur, bunları bir bayt bellek aralığına yazar, okunan bayt sayısına göre akıştaki konumu ilerletir ve iptal isteklerini izler. (Devralındığı yer: PipeStream) |
ReadAtLeast(Span<Byte>, Int32, Boolean) |
Geçerli akıştan en az bayt sayısını okur ve okunan bayt sayısına göre akış içindeki konumu ilerletir. (Devralındığı yer: Stream) |
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
Geçerli akıştan en az en az sayıda bayt zaman uyumsuz olarak okur, okunan bayt sayısına göre akıştaki konumu ilerletir ve iptal isteklerini izler. (Devralındığı yer: Stream) |
ReadByte() |
Borudan bayt okur. (Devralındığı yer: PipeStream) |
ReadExactly(Byte[], Int32, Int32) |
Geçerli akıştan |
ReadExactly(Span<Byte>) |
Geçerli akıştan baytları okur ve |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Geçerli akıştan |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Geçerli akıştaki baytları zaman uyumsuz olarak okur, |
RunAsClient(PipeStreamImpersonationWorker) |
İstemcinin kimliğine bürünülirken temsilciyi çağırır. |
Seek(Int64, SeekOrigin) |
Geçerli akışın geçerli konumunu belirtilen değere ayarlar. (Devralındığı yer: PipeStream) |
SetAccessControl(PipeSecurity) |
bir PipeSecurity nesnesi tarafından belirtilen erişim denetimi listesi (ACL) girdilerini geçerli PipeStream nesnesi tarafından belirtilen kanala uygular. (Devralındığı yer: PipeStream) |
SetLength(Int64) |
Geçerli akışın uzunluğunu belirtilen değere ayarlar. (Devralındığı yer: PipeStream) |
ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
WaitForConnection() |
İstemcinin bu NamedPipeServerStream nesnesine bağlanmasını bekler. |
WaitForConnectionAsync() |
Zaman uyumsuz olarak istemcinin bu NamedPipeServerStream nesnesine bağlanmasını bekler. |
WaitForConnectionAsync(CancellationToken) |
Zaman uyumsuz olarak istemcinin bu NamedPipeServerStream nesnesine bağlanmasını bekler ve iptal isteklerini izler. |
WaitForPipeDrain() |
Kanalın diğer ucunun gönderilen tüm baytları okumasını bekler. (Devralındığı yer: PipeStream) |
Write(Byte[], Int32, Int32) |
Arabellekten alınan verileri kullanarak geçerli akışa bir bayt bloğu yazar. (Devralındığı yer: PipeStream) |
Write(ReadOnlySpan<Byte>) |
Geçerli akışa bir bayt dizisi yazar ve bu akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir. (Devralındığı yer: PipeStream) |
WriteAsync(Byte[], Int32, Int32) |
Zaman uyumsuz olarak geçerli akışa bir bayt dizisi yazar ve bu akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir. (Devralındığı yer: Stream) |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Belirli bir konumdan başlayan bayt dizisinden zaman uyumsuz olarak belirtilen sayıda bayt yazar, bu akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir ve iptal isteklerini izler. (Devralındığı yer: PipeStream) |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Zaman uyumsuz olarak geçerli akışa bir bayt dizisi yazar, bu akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir ve iptal isteklerini izler. (Devralındığı yer: PipeStream) |
WriteByte(Byte) |
Geçerli akışa bir bayt yazar. (Devralındığı yer: PipeStream) |
Uzantı Metotları
CopyToAsync(Stream, PipeWriter, CancellationToken) |
Stream baytları zaman uyumsuz olarak okur ve bir iptal belirteci kullanarak belirtilen PipeWriteryazar. |
GetAccessControl(PipeStream) |
Kanal akışının güvenlik bilgilerini döndürür. |
SetAccessControl(PipeStream, PipeSecurity) |
Mevcut bir kanal akışının güvenlik özniteliklerini değiştirir. |
ConfigureAwait(IAsyncDisposable, Boolean) |
Zaman uyumsuz bir atılabilir öğeden döndürülen görevlerde awaits işleminin nasıl gerçekleştirileceğini yapılandırılır. |