NamedPipeClientStream 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
명명된 파이프 주위에 Stream 노출합니다. 이 파이프는 동기 및 비동기 읽기 및 쓰기 작업을 모두 지원합니다.
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
- 상속
- 상속
예제
다음 예제에서는 명명된 파이프를 사용하여 부모 프로세스에서 동일한 컴퓨터의 자식 프로세스로 문자열을 보내는 방법을 보여 줍니다. 다음은 부모 프로세스에서 NamedPipeServerStream 개체를 만드는 예제입니다. NamedPipeServerStream 개체의 PipeDirection 값은 Out. 그런 다음 서버는 자식 프로세스의 NamedPipeClientStream 개체가 연결되기를 기다립니다. 이 예제에서 두 프로세스는 모두 동일한 컴퓨터에 있고 NamedPipeClientStream 개체의 PipeDirection 값은 In. 그런 다음 부모 프로세스는 사용자가 제공한 문자열을 자식 프로세스로 보냅니다. 문자열이 콘솔에 표시됩니다.
이 예제는 서버 프로세스에 연결하는 클라이언트 프로세스에 대한 것입니다. 파이프 클라이언트와 서버 모두에 대한 코드를 포함한 전체 코드 샘플은 방법: 네트워크 프로세스 간 통신명명된 파이프 사용.을 참조하세요.
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
설명
명명된 파이프는 파이프 서버와 하나 이상의 파이프 클라이언트 간의 통신을 위한 단방향 또는 이중 파이프를 제공합니다. 명명된 파이프는 로컬 또는 네트워크를 통한 프로세스 간 통신에 사용할 수 있습니다. 여러 NamedPipeClientStream 개체에서 단일 파이프 이름을 공유할 수 있습니다.
모든 프로세스는 명명된 파이프 서버 또는 클라이언트 또는 둘 다로 작동할 수 있습니다.
생성자
속성
CanRead |
현재 스트림이 읽기 작업을 지원하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 PipeStream) |
CanSeek |
현재 스트림이 검색 작업을 지원하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 PipeStream) |
CanTimeout |
현재 스트림이 시간 초과할 수 있는지 여부를 결정하는 값을 가져옵니다. (다음에서 상속됨 Stream) |
CanWrite |
현재 스트림이 쓰기 작업을 지원하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 PipeStream) |
InBufferSize |
파이프에 대한 인바운드 버퍼의 크기(바이트)를 가져옵니다. (다음에서 상속됨 PipeStream) |
IsAsync |
PipeStream 개체가 비동기적으로 또는 동기적으로 열렸는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 PipeStream) |
IsConnected |
PipeStream 개체가 연결되어 있는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 PipeStream) |
IsHandleExposed |
PipeStream 개체에 대한 핸들이 노출되는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 PipeStream) |
IsMessageComplete |
가장 최근의 읽기 작업에서 반환된 메시지에 더 많은 데이터가 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 PipeStream) |
Length |
스트림의 길이(바이트)를 가져옵니다. (다음에서 상속됨 PipeStream) |
NumberOfServerInstances |
동일한 파이프 이름을 공유하는 서버 인스턴스 수를 가져옵니다. |
OutBufferSize |
파이프에 대한 아웃바운드 버퍼의 크기(바이트)를 가져옵니다. (다음에서 상속됨 PipeStream) |
Position |
현재 스트림의 현재 위치를 가져오거나 설정합니다. (다음에서 상속됨 PipeStream) |
ReadMode |
PipeStream 개체의 읽기 모드를 가져오거나 설정합니다. (다음에서 상속됨 PipeStream) |
ReadTimeout |
시간이 초과되기 전에 스트림이 읽기를 시도하는 기간을 결정하는 값(밀리초)을 가져오거나 설정합니다. (다음에서 상속됨 Stream) |
SafePipeHandle |
현재 PipeStream 개체가 캡슐화하는 파이프의 로컬 끝에 대한 안전 핸들을 가져옵니다. (다음에서 상속됨 PipeStream) |
TransmissionMode |
현재 파이프에서 지원하는 파이프 전송 모드를 가져옵니다. (다음에서 상속됨 PipeStream) |
WriteTimeout |
시간 초과 전에 스트림이 쓰기를 시도하는 기간을 결정하는 값을 밀리초 단위로 가져오거나 설정합니다. (다음에서 상속됨 Stream) |
메서드
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
비동기 읽기 작업을 시작합니다. (다음에서 상속됨 PipeStream) |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
비동기 쓰기 작업을 시작합니다. (다음에서 상속됨 PipeStream) |
CheckPipePropertyOperations() |
파이프가 속성을 가져오거나 설정하기 위한 적절한 상태인지 확인합니다. (다음에서 상속됨 PipeStream) |
CheckReadOperations() |
파이프가 읽기 작업에 대해 연결된 상태인지 확인합니다. (다음에서 상속됨 PipeStream) |
CheckWriteOperations() |
파이프가 쓰기 작업에 대해 연결된 상태인지 확인합니다. (다음에서 상속됨 PipeStream) |
Close() |
현재 스트림을 닫고 현재 스트림과 연결된 모든 리소스(예: 소켓 및 파일 핸들)를 해제합니다. 이 메서드를 호출하는 대신 스트림이 제대로 삭제되었는지 확인합니다. (다음에서 상속됨 Stream) |
Connect() |
무한 제한 시간 값으로 대기 중인 서버에 연결합니다. |
Connect(Int32) |
지정된 제한 시간 내에 대기 중인 서버에 연결합니다. |
Connect(TimeSpan) |
지정된 시간 제한 기간 내에 대기 중인 서버에 연결합니다. |
ConnectAsync() |
무한 시간 제한 기간으로 대기 중인 서버에 비동기적으로 연결합니다. |
ConnectAsync(CancellationToken) |
대기 중인 서버에 비동기적으로 연결하고 취소 요청을 모니터링합니다. |
ConnectAsync(Int32) |
지정된 시간 제한 기간 내에 대기 중인 서버에 비동기적으로 연결합니다. |
ConnectAsync(Int32, CancellationToken) |
지정된 시간 제한 기간 내에 대기 중인 서버에 비동기적으로 연결하고 취소 요청을 모니터링합니다. |
ConnectAsync(TimeSpan, CancellationToken) |
지정된 시간 제한 기간 내에 대기 중인 서버에 비동기적으로 연결하고 취소 요청을 모니터링합니다. |
CopyTo(Stream) |
현재 스트림에서 바이트를 읽고 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
CopyTo(Stream, Int32) |
현재 스트림에서 바이트를 읽고 지정된 버퍼 크기를 사용하여 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
CopyToAsync(Stream) |
현재 스트림에서 바이트를 비동기적으로 읽고 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
CopyToAsync(Stream, CancellationToken) |
지정된 취소 토큰을 사용하여 현재 스트림에서 바이트를 비동기적으로 읽고 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
CopyToAsync(Stream, Int32) |
지정된 버퍼 크기를 사용하여 현재 스트림에서 바이트를 비동기적으로 읽고 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
CopyToAsync(Stream, Int32, CancellationToken) |
지정된 버퍼 크기 및 취소 토큰을 사용하여 현재 스트림에서 바이트를 비동기적으로 읽고 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
CreateObjRef(Type) |
원격 개체와 통신하는 데 사용되는 프록시를 생성하는 데 필요한 모든 관련 정보를 포함하는 개체를 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
CreateWaitHandle() |
사용되지 않음.
사용되지 않음.
사용되지 않음.
WaitHandle 개체를 할당합니다. (다음에서 상속됨 Stream) |
Dispose() |
Stream사용하는 모든 리소스를 해제합니다. (다음에서 상속됨 Stream) |
Dispose(Boolean) |
PipeStream 클래스에서 사용하는 관리되지 않는 리소스를 해제하고 필요에 따라 관리되는 리소스를 해제합니다. (다음에서 상속됨 PipeStream) |
DisposeAsync() |
Stream사용되는 관리되지 않는 리소스를 비동기적으로 해제합니다. (다음에서 상속됨 Stream) |
EndRead(IAsyncResult) |
보류 중인 비동기 읽기 요청을 종료합니다. (다음에서 상속됨 PipeStream) |
EndWrite(IAsyncResult) |
보류 중인 비동기 쓰기 요청을 종료합니다. (다음에서 상속됨 PipeStream) |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
Finalize() |
관리되지 않는 리소스를 해제하고 가비지 수집에서 NamedPipeClientStream 인스턴스를 회수하기 전에 다른 정리 작업을 수행합니다. |
Flush() |
현재 스트림에 대한 버퍼를 지우고 버퍼링된 데이터가 기본 디바이스에 기록되도록 합니다. (다음에서 상속됨 PipeStream) |
FlushAsync() |
이 스트림에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 기본 디바이스에 기록되도록 합니다. (다음에서 상속됨 Stream) |
FlushAsync(CancellationToken) |
현재 스트림에 대한 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 기본 디바이스에 기록되도록 합니다. (다음에서 상속됨 PipeStream) |
GetAccessControl() |
현재 PipeStream 개체에서 설명하는 파이프에 대한 ACL(액세스 제어 목록) 항목을 캡슐화하는 PipeSecurity 개체를 가져옵니다. (다음에서 상속됨 PipeStream) |
GetHashCode() |
기본 해시 함수로 사용됩니다. (다음에서 상속됨 Object) |
GetLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 현재 수명 서비스 개체를 검색합니다. (다음에서 상속됨 MarshalByRefObject) |
GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
InitializeHandle(SafePipeHandle, Boolean, Boolean) |
지정된 SafePipeHandle 개체에서 PipeStream 개체를 초기화합니다. (다음에서 상속됨 PipeStream) |
InitializeLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다. (다음에서 상속됨 MarshalByRefObject) |
MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
MemberwiseClone(Boolean) |
현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
ObjectInvariant() |
사용되지 않음.
Contract대한 지원을 제공합니다. (다음에서 상속됨 Stream) |
Read(Byte[], Int32, Int32) |
스트림에서 바이트 블록을 읽고 지정된 길이에 대해 지정된 위치에서 시작하는 지정된 버퍼에 데이터를 씁니다. (다음에서 상속됨 PipeStream) |
Read(Span<Byte>) |
현재 스트림에서 바이트 시퀀스를 읽고, 바이트 배열에 쓰고, 읽은 바이트 수만큼 스트림 내의 위치를 이동합니다. (다음에서 상속됨 PipeStream) |
ReadAsync(Byte[], Int32, Int32) |
현재 스트림에서 바이트 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림 내의 위치를 이동합니다. (다음에서 상속됨 Stream) |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
현재 스트림에서 지정된 바이트 수에 대해 지정된 위치에서 시작하는 바이트 배열로 바이트 시퀀스를 비동기적으로 읽고, 스트림 내의 위치를 읽은 바이트 수만큼 이동하고, 취소 요청을 모니터링합니다. (다음에서 상속됨 PipeStream) |
ReadAsync(Memory<Byte>, CancellationToken) |
현재 스트림에서 바이트 시퀀스를 비동기적으로 읽고, 바이트 메모리 범위에 쓰고, 읽은 바이트 수만큼 스트림 내의 위치를 이동하고, 취소 요청을 모니터링합니다. (다음에서 상속됨 PipeStream) |
ReadAtLeast(Span<Byte>, Int32, Boolean) |
현재 스트림에서 최소 바이트 수를 읽고 읽은 바이트 수만큼 스트림 내의 위치를 앞으로 이동합니다. (다음에서 상속됨 Stream) |
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
현재 스트림에서 최소 바이트 수를 비동기적으로 읽고, 읽은 바이트 수만큼 스트림 내의 위치를 이동하고, 취소 요청을 모니터링합니다. (다음에서 상속됨 Stream) |
ReadByte() |
파이프에서 바이트를 읽습니다. (다음에서 상속됨 PipeStream) |
ReadExactly(Byte[], Int32, Int32) |
현재 스트림에서 |
ReadExactly(Span<Byte>) |
현재 스트림에서 바이트를 읽고 |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
현재 스트림에서 |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
현재 스트림에서 바이트를 비동기적으로 읽고, |
Seek(Int64, SeekOrigin) |
현재 스트림의 현재 위치를 지정된 값으로 설정합니다. (다음에서 상속됨 PipeStream) |
SetAccessControl(PipeSecurity) |
PipeSecurity 개체에서 지정한 ACL(액세스 제어 목록) 항목을 현재 PipeStream 개체로 지정된 파이프에 적용합니다. (다음에서 상속됨 PipeStream) |
SetLength(Int64) |
현재 스트림의 길이를 지정된 값으로 설정합니다. (다음에서 상속됨 PipeStream) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
WaitForPipeDrain() |
파이프의 다른 쪽 끝이 전송된 모든 바이트를 읽을 때까지 기다립니다. (다음에서 상속됨 PipeStream) |
Write(Byte[], Int32, Int32) |
버퍼의 데이터를 사용하여 현재 스트림에 바이트 블록을 씁니다. (다음에서 상속됨 PipeStream) |
Write(ReadOnlySpan<Byte>) |
바이트 시퀀스를 현재 스트림에 쓰고 이 스트림 내의 현재 위치를 기록된 바이트 수만큼 앞으로 이동합니다. (다음에서 상속됨 PipeStream) |
WriteAsync(Byte[], Int32, Int32) |
바이트 시퀀스를 현재 스트림에 비동기적으로 쓰고 이 스트림 내의 현재 위치를 기록된 바이트 수만큼 앞으로 이동합니다. (다음에서 상속됨 Stream) |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
지정된 위치에서 시작하여 바이트 배열에서 지정된 바이트 수를 비동기적으로 작성하고, 기록된 바이트 수만큼 이 스트림 내의 현재 위치를 이동하고, 취소 요청을 모니터링합니다. (다음에서 상속됨 PipeStream) |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
바이트 시퀀스를 현재 스트림에 비동기적으로 쓰고, 기록된 바이트 수만큼 이 스트림 내의 현재 위치를 발전시키고, 취소 요청을 모니터링합니다. (다음에서 상속됨 PipeStream) |
WriteByte(Byte) |
현재 스트림에 바이트를 씁니다. (다음에서 상속됨 PipeStream) |
확장 메서드
CopyToAsync(Stream, PipeWriter, CancellationToken) |
취소 토큰을 사용하여 Stream 바이트를 비동기적으로 읽고 지정된 PipeWriter씁니다. |
GetAccessControl(PipeStream) |
파이프 스트림의 보안 정보를 반환합니다. |
SetAccessControl(PipeStream, PipeSecurity) |
기존 파이프 스트림의 보안 특성을 변경합니다. |
ConfigureAwait(IAsyncDisposable, Boolean) |
비동기 삭제 가능 파일에서 반환된 작업에 대한 대기가 수행되는 방법을 구성합니다. |
적용 대상
.NET