NetworkStream 클래스

정의

네트워크 액세스를 위한 데이터의 기본 스트림을 제공합니다.

public ref class NetworkStream : System::IO::Stream
public class NetworkStream : System.IO.Stream
type NetworkStream = class
    inherit Stream
type NetworkStream = class
    inherit Stream
    interface IDisposable
Public Class NetworkStream
Inherits Stream
상속
NetworkStream
상속
구현

예제

다음 코드 예제에서는 연결된 StreamSocket 에서 만들고 NetworkStream 기본 동기 차단 I/O를 수행하는 방법을 보여 줍니다.

// Examples for constructors that do not specify file permission.
// Create the NetworkStream for communicating with the remote host.
NetworkStream^ myNetworkStream;

if ( networkStreamOwnsSocket )
{
   myNetworkStream = gcnew NetworkStream( mySocket,true );
}
else
{
   myNetworkStream = gcnew NetworkStream( mySocket );
}
// Examples for constructors that do not specify file permission.

// Create the NetworkStream for communicating with the remote host.
NetworkStream myNetworkStream;

if (networkStreamOwnsSocket){
     myNetworkStream = new NetworkStream(mySocket, true);
}
else{
     myNetworkStream = new NetworkStream(mySocket);
}
' Examples for constructors that do not specify file permission.
' Create the NetworkStream for communicating with the remote host.
Dim myNetworkStream As NetworkStream

If networkStreamOwnsSocket Then
   myNetworkStream = New NetworkStream(mySocket, True)
Else
   myNetworkStream = New NetworkStream(mySocket)
End If

설명

이 클래스는 NetworkStream 차단 모드에서 소켓을 통해 Stream 데이터를 보내고 받는 메서드를 제공합니다. 차단 및 비블로킹 Socket에 대한 자세한 내용은 비동기 클라이언트 소켓 사용을 참조하세요. 동기 및 비동기 데이터 전송 모두에 클래스를 사용할 NetworkStream 수 있습니다. 동기 및 비동기 통신에 대한 자세한 내용은 소켓을 참조하세요.

NetworkStream만들려면 연결된 Socket.를 제공해야 합니다. 제공된 Socket권한을 NetworkStream 지정할 FileAccess 수도 있습니다. 기본적으로 닫는 것은 NetworkStream 제공된 Socket닫히지 않습니다. 제공된 NetworkStream Socket항목을 닫을 수 있는 권한을 갖도록 하려면 매개 변수 값을 ownsSocket 지정 true 해야 합니다.

Write 간단한 단일 스레드 동기 차단 I/O에 대한 및 Read 메서드를 사용합니다. 별도의 스레드를 사용하여 I/O를 처리하려는 경우 통신을 BeginWrite 위해 및 EndWrite 메서드 또는 메서드를 BeginRead EndRead 사용하는 것이 좋습니다.

네트워크 NetworkStream 데이터 스트림에 대한 임의 액세스를 지원하지 않습니다. 스트림이 검색을 CanSeek 지원하는지 여부를 나타내는 속성의 값은 항상 false속성 읽기, 속성 읽기 Position Length 또는 메서드 호출 Seek 에서 NotSupportedExceptionthrow됩니다.

동기화할 필요 없이 클래스 인스턴스 NetworkStream 에서 읽기 및 쓰기 작업을 동시에 수행할 수 있습니다. 쓰기 작업에 고유한 스레드가 하나 있고 읽기 작업에 고유한 스레드가 하나 있는 한 읽기 및 쓰기 스레드 간에 교차 간섭이 없으며 동기화가 필요하지 않습니다.

생성자

NetworkStream(Socket)

지정된 NetworkStream에 대한 Socket 클래스의 새 인스턴스를 만듭니다.

NetworkStream(Socket, Boolean)

지정된 NetworkStream 소유권을 사용하여 지정된 Socket에 대한 Socket 클래스의 새 인스턴스를 초기화합니다.

NetworkStream(Socket, FileAccess)

지정된 액세스 권한을 사용하여 지정된 NetworkStream에 대한 Socket 클래스의 새 인스턴스를 만듭니다.

NetworkStream(Socket, FileAccess, Boolean)

지정된 액세스 권한과 지정된 NetworkStream 소유권을 사용하여 지정된 Socket에 대한 Socket 클래스의 새 인스턴스를 만듭니다.

속성

CanRead

NetworkStream이 읽기를 지원하는지 여부를 나타내는 값을 가져옵니다.

CanSeek

스트림이 검색을 지원하는지 여부를 나타내는 값을 가져옵니다. 현재 이 속성이 지원되지 않는 경우 이 속성은 항상 false를 반환합니다.

CanTimeout

NetworkStream에 제한 시간 속성을 사용할 수 있는지 여부를 나타냅니다.

CanTimeout

현재 스트림이 시간 초과될 수 있는지를 결정하는 값을 가져옵니다.

(다음에서 상속됨 Stream)
CanWrite

NetworkStream이 쓰기를 지원하는지 여부를 나타내는 값을 가져옵니다.

DataAvailable

NetworkStream의 데이터를 읽을 수 있는지 여부를 나타내는 값을 가져옵니다.

Length

스트림에서 사용할 수 있는 데이터의 길이를 가져옵니다. 이 속성은 현재 지원되지 않으며 항상 NotSupportedException을 throw합니다.

Position

스트림 내의 현재 위치를 가져오거나 설정합니다. 이 속성은 현재 지원되지 않으며 항상 NotSupportedException을 throw합니다.

Readable

NetworkStream을 읽을 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.

ReadTimeout

데이터를 기다리는 중 읽기 작업이 차단되는 시간을 가져오거나 설정합니다.

ReadTimeout

스트림 읽기 시도가 만료되기 전까지 기다릴 시간을 결정하는 값(밀리초)을 가져오거나 설정합니다.

(다음에서 상속됨 Stream)
Socket

내부 Socket를 가져옵니다.

Writeable

NetworkStream이 쓰기 가능한지 여부를 나타내는 값을 가져옵니다.

WriteTimeout

데이터를 기다리는 중 쓰기 작업이 차단되는 시간을 가져오거나 설정합니다.

WriteTimeout

스트림 쓰기 시도가 만료되기 전까지 기다릴 시간을 결정하는 값(밀리초)을 가져오거나 설정합니다.

(다음에서 상속됨 Stream)

메서드

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

NetworkStream에서 비동기 읽기를 시작합니다.

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

비동기 읽기 작업을 시작합니다. 대신 ReadAsync(Byte[], Int32, Int32)를 사용하세요.

(다음에서 상속됨 Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

스트림에 비동기 쓰기를 시작합니다.

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

비동기 쓰기 작업을 시작합니다. 대신 WriteAsync(Byte[], Int32, Int32)를 사용하세요.

(다음에서 상속됨 Stream)
Close()

NetworkStream를 닫습니다.

Close()

현재 스트림을 닫고 현재 스트림과 관련된 소켓과 파일 핸들 등의 리소스를 모두 해제합니다. 이 메서드를 호출하는 대신 스트림이 올바르게 삭제되었는지 확인합니다.

(다음에서 상속됨 Stream)
Close(Int32)

데이터를 보낼 수 있도록 지정된 시간 동안 기다린 후에 NetworkStream을 닫습니다.

Close(TimeSpan)
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)

NetworkStream에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.

DisposeAsync()

Stream에서 사용하는 관리되지 않는 리소스를 비동기적으로 해제합니다.

(다음에서 상속됨 Stream)
EndRead(IAsyncResult)

비동기 읽기의 끝을 처리합니다.

EndRead(IAsyncResult)

보류 중인 비동기 읽기가 완료되기를 기다립니다. 대신 ReadAsync(Byte[], Int32, Int32)를 사용하세요.

(다음에서 상속됨 Stream)
EndWrite(IAsyncResult)

비동기 쓰기의 끝을 처리합니다.

EndWrite(IAsyncResult)

비동기 쓰기 작업을 끝냅니다. 대신 WriteAsync(Byte[], Int32, Int32)를 사용하세요.

(다음에서 상속됨 Stream)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
Finalize()

NetworkStream에서 사용하는 모든 리소스를 해제합니다.

Flush()

스트림에서 데이터를 플러시합니다. 이 메서드는 나중에 사용하도록 예약됩니다.

FlushAsync()

이 스트림에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 모든 데이터가 내부 디바이스에 비동기적으로 쓰여지도록 합니다.

(다음에서 상속됨 Stream)
FlushAsync(CancellationToken)

스트림에서 데이터를 비동기 작업으로 플러시합니다.

FlushAsync(CancellationToken)

이 스트림에 대해 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 내부 디바이스에 쓰여지도록 하고 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetLifetimeService()
사용되지 않습니다.

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.

(다음에서 상속됨 MarshalByRefObject)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
InitializeLifetimeService()
사용되지 않습니다.

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
ObjectInvariant()
사용되지 않습니다.

Contract에 대한 지원을 제공합니다.

(다음에서 상속됨 Stream)
Read(Byte[], Int32, Int32)

NetworkStream에서 데이터를 읽고 바이트 배열에 저장합니다.

Read(Span<Byte>)

NetworkStream에서 데이터를 읽고 메모리의 바이트 범위에 저장합니다.

Read(Span<Byte>)

파생 클래스에서 재정의되면 현재 스트림에서 바이트의 시퀀스를 읽고, 읽은 바이트 수만큼 스트림 내에서 앞으로 이동합니다.

(다음에서 상속됨 Stream)
ReadAsync(Byte[], Int32, Int32)

현재 스트림에서 바이트 시퀀스를 읽고 읽은 바이트 수만큼 스트림에서 위치를 비동기적으로 앞으로 이동합니다.

(다음에서 상속됨 Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

NetworkStream에서 데이터를 읽고 비동기 작업으로 지정된 범위의 바이트 배열에 저장합니다.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

현재 스트림에서 바이트의 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림 내에서 앞으로 이동하며 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
ReadAsync(Memory<Byte>, CancellationToken)

NetworkStream에서 데이터를 읽고 비동기 작업으로 바이트 메모리 범위에 저장합니다.

ReadAsync(Memory<Byte>, CancellationToken)

현재 스트림에서 바이트의 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림 내에서 앞으로 이동하며 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

현재 스트림에서 최소 바이트 수를 읽고 읽은 바이트 수만큼 스트림 내의 위치를 이동합니다.

(다음에서 상속됨 Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

현재 스트림에서 최소 바이트 수를 비동기적으로 읽고, 읽은 바이트 수만큼 스트림 내의 위치를 이동하고, 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
ReadByte()

NetworkStream에서 바이트를 읽고 스트림 내 위치를 한 바이트씩 앞으로 이동하거나 스트림 끝일 경우 -1을 반환합니다.

ReadByte()

스트림에서 바이트를 읽고 스트림 내 위치를 한 바이트씩 앞으로 이동하거나 스트림 끝일 경우 -1을 반환합니다.

(다음에서 상속됨 Stream)
ReadExactly(Byte[], Int32, Int32)

count 현재 스트림에서 바이트 수를 읽고 스트림 내의 위치를 이동합니다.

(다음에서 상속됨 Stream)
ReadExactly(Span<Byte>)

현재 스트림에서 바이트를 읽고 스트림이 채워질 때까지 스트림 내의 buffer 위치를 이동합니다.

(다음에서 상속됨 Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

현재 스트림에서 바이트 수를 비동기적으로 읽고 count , 스트림 내의 위치를 발전시키고, 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

현재 스트림에서 바이트를 비동기적으로 읽고, 스트림이 채워질 때까지 buffer 스트림 내의 위치를 이동하고, 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
Seek(Int64, SeekOrigin)

스트림의 현재 위치를 주어진 값으로 설정합니다. 이 메서드는 현재 지원되지 않으며 항상 NotSupportedException을 throw합니다.

SetLength(Int64)

스트림의 길이를 설정합니다. 이 메서드는 항상 NotSupportedException을 throw합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
Write(Byte[], Int32, Int32)

지정된 범위의 바이트 배열에서 NetworkStream에 데이터를 씁니다.

Write(ReadOnlySpan<Byte>)

읽기 전용 바이트 범위에서 NetworkStream에 데이터를 씁니다.

Write(ReadOnlySpan<Byte>)

파생 클래스를 재정의될 때 현재 스트림에 바이트의 시퀀스를 쓰고 쓰여진 바이트 수만큼 이 스트림 내에서 앞으로 이동합니다.

(다음에서 상속됨 Stream)
WriteAsync(Byte[], Int32, Int32)

현재 스트림에 바이트 시퀀스를 비동기적으로 쓰고 쓴 바이트 수만큼 이 스트림에서 현재 위치를 앞으로 이동합니다.

(다음에서 상속됨 Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

지정된 범위의 바이트 배열에서 비동기 작업으로 NetworkStream에 데이터를 씁니다.

WriteAsync(Byte[], Int32, Int32, CancellationToken)

바이트의 시퀀스를 현재 스트림에 비동기적으로 쓰고 쓰여진 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동한 후 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

읽기 전용 메모리 바이트 메모리 범위에서 비동기 작업으로 NetworkStream에 데이터를 씁니다.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

바이트의 시퀀스를 현재 스트림에 비동기적으로 쓰고 쓰여진 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동한 후 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
WriteByte(Byte)

NetworkStream의 현재 위치에 바이트를 쓰고 스트림 내 위치를 1바이트씩 앞으로 이동합니다.

WriteByte(Byte)

스트림의 현재 위치에 바이트를 쓰고 스트림 내 위치를 1바이트씩 앞으로 이동합니다.

(다음에서 상속됨 Stream)

명시적 인터페이스 구현

IDisposable.Dispose()

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

NetworkStream에서 사용하는 모든 리소스를 해제합니다.

확장 메서드

ConfigureAwait(IAsyncDisposable, Boolean)

비동기 일회용에서 반환되는 작업을 대기하는 방법을 구성합니다.

적용 대상

추가 정보